aboutsummaryrefslogtreecommitdiff
path: root/dev_status/views.py
blob: 5b60743610f24fc683d126a84c9ae46004fe5aae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from multiprocessing import context
from django.shortcuts import render
from github import Github
from dotenv import load_dotenv
import os

load_dotenv()

# Create your views here.

def home(request, r='thatcomputerscientist', p=None):
    g = Github(os.getenv('GH_TOKEN'))
    repository = 'luciferreeves/{}'.format(r)
    parent = None
    if p and not len(p.split('/')) == 0:
        parent = '/'.join(p.split('/')[:-1])
    contents = g.get_repo(repository).get_contents(p or '')
    context = {}
    try:
        files = []
        while contents:
            file_content = contents.pop(0)
            files.append(file_content)
        context['title'] = 'Tree - {}'.format(p)
        context['files'] = files
        context['parent'] = parent
        context['repo'] = r
    except:
        context['title'] = 'File - {}'.format(p)
        context['file'] = contents.html_url
        context['parent'] = parent
        context['repo'] = r
    finally:
        return render(request, 'dev_status/home.html', context)