diff options
| author | Bobby <[email protected]> | 2024-12-16 18:38:05 +0000 |
|---|---|---|
| committer | Bobby <[email protected]> | 2024-12-16 18:38:05 +0000 |
| commit | ea8f5e8517161c1bd52f61198138dfd2fc72f8e2 (patch) | |
| tree | 19dd955137c8c6bb9c1143bbced320737cd93b09 /dev_status/views.py | |
| parent | 04788ddd83c5e80a09a468d07427f0e365db71d7 (diff) | |
| download | thatcomputerscientist-ea8f5e8517161c1bd52f61198138dfd2fc72f8e2.tar.xz thatcomputerscientist-ea8f5e8517161c1bd52f61198138dfd2fc72f8e2.zip | |
its all in a state of chaos, but it shall be working soon
Diffstat (limited to 'dev_status/views.py')
| -rw-r--r-- | dev_status/views.py | 474 |
1 files changed, 237 insertions, 237 deletions
diff --git a/dev_status/views.py b/dev_status/views.py index 217f7121..ae6afb7c 100644 --- a/dev_status/views.py +++ b/dev_status/views.py @@ -1,268 +1,268 @@ -import math -import os -import re +# import math +# import os +# import re -import requests -from django.shortcuts import render -from dotenv import load_dotenv -from github import Github -from dev_status.utils import ( - relative_date, - text_lines, - text_loc, - size_format, - highlight_code, -) +# import requests +# from django.shortcuts import render +# from dotenv import load_dotenv +# from github import Github +# from dev_status.utils import ( +# relative_date, +# text_lines, +# text_loc, +# size_format, +# highlight_code, +# ) -load_dotenv() -g = Github(os.getenv("GH_TOKEN")) +# load_dotenv() +# g = Github(os.getenv("GH_TOKEN")) -# Create your views here. -def home(request): - page = request.GET.get("page") or 1 - items = request.GET.get("items") or 10 - sort = request.GET.get("sort") or "pushed" - direction = request.GET.get("direction") or "desc" - search = request.GET.get("search") or "" - context = {} - sort_map = { - "updated": "UPDATED_AT", - "stars": "STARGAZERS", - "pushed": "PUSHED_AT", - "created": "CREATED_AT", - "name": "NAME", - } - direction_map = {"desc": "DESC", "asc": "ASC"} +# # Create your views here. +# def home(request): +# page = request.GET.get("page") or 1 +# items = request.GET.get("items") or 10 +# sort = request.GET.get("sort") or "pushed" +# direction = request.GET.get("direction") or "desc" +# search = request.GET.get("search") or "" +# context = {} +# sort_map = { +# "updated": "UPDATED_AT", +# "stars": "STARGAZERS", +# "pushed": "PUSHED_AT", +# "created": "CREATED_AT", +# "name": "NAME", +# } +# direction_map = {"desc": "DESC", "asc": "ASC"} - # make request to github api to get page of repos and total count of repos - url = "https://api.github.com/graphql" - headers = {"Authorization": "token " + os.getenv("GH_TOKEN")} - user = "luciferreeves" +# # make request to github api to get page of repos and total count of repos +# url = "https://api.github.com/graphql" +# headers = {"Authorization": "token " + os.getenv("GH_TOKEN")} +# user = "luciferreeves" - query = """ - query {{ - user(login: "{user}") {{ - repositories( - first: 100 - orderBy: {{field: {sort}, direction: {direction}}} - ownerAffiliations: OWNER - privacy: PUBLIC - ) {{ - totalCount - edges {{ - node {{ - name - description - forkCount - homepageUrl - isArchived - isFork - licenseInfo {{ - name - }} - pushedAt - stargazerCount - }} - }} - }} - }} - }} - """.format( - user=user, sort=sort_map[sort], direction=direction_map[direction] - ) - data = requests.post(url, json={"query": query}, headers=headers).json() - repos = [ - { - "name": repo["node"]["name"], - "description": repo["node"]["description"], - "forkCount": repo["node"]["forkCount"], - "homepageUrl": repo["node"]["homepageUrl"], - "isArchived": repo["node"]["isArchived"], - "isFork": repo["node"]["isFork"], - "licenseInfo": repo["node"]["licenseInfo"], - "pushedAt": repo["node"]["pushedAt"], - "stargazerCount": repo["node"]["stargazerCount"], - } - for repo in data["data"]["user"]["repositories"]["edges"] - ] - total_count = data["data"]["user"]["repositories"]["totalCount"] +# query = """ +# query {{ +# user(login: "{user}") {{ +# repositories( +# first: 100 +# orderBy: {{field: {sort}, direction: {direction}}} +# ownerAffiliations: OWNER +# privacy: PUBLIC +# ) {{ +# totalCount +# edges {{ +# node {{ +# name +# description +# forkCount +# homepageUrl +# isArchived +# isFork +# licenseInfo {{ +# name +# }} +# pushedAt +# stargazerCount +# }} +# }} +# }} +# }} +# }} +# """.format( +# user=user, sort=sort_map[sort], direction=direction_map[direction] +# ) +# data = requests.post(url, json={"query": query}, headers=headers).json() +# repos = [ +# { +# "name": repo["node"]["name"], +# "description": repo["node"]["description"], +# "forkCount": repo["node"]["forkCount"], +# "homepageUrl": repo["node"]["homepageUrl"], +# "isArchived": repo["node"]["isArchived"], +# "isFork": repo["node"]["isFork"], +# "licenseInfo": repo["node"]["licenseInfo"], +# "pushedAt": repo["node"]["pushedAt"], +# "stargazerCount": repo["node"]["stargazerCount"], +# } +# for repo in data["data"]["user"]["repositories"]["edges"] +# ] +# total_count = data["data"]["user"]["repositories"]["totalCount"] - # convert pushedAt to date - for repo in repos: - repo["pushedAt"] = repo["pushedAt"].split("T")[0] +# # convert pushedAt to date +# for repo in repos: +# repo["pushedAt"] = repo["pushedAt"].split("T")[0] - context["search"] = search - if search is not None: - search_term = search.lower() - filtered_repos = [] +# context["search"] = search +# if search is not None: +# search_term = search.lower() +# filtered_repos = [] - for repo in repos: - repo_name = repo["name"] - repo_description = repo["description"] +# for repo in repos: +# repo_name = repo["name"] +# repo_description = repo["description"] - if repo_name is not None and search_term in repo_name.lower(): - filtered_repos.append(repo) - elif ( - repo_description is not None and search_term in repo_description.lower() - ): - filtered_repos.append(repo) +# if repo_name is not None and search_term in repo_name.lower(): +# filtered_repos.append(repo) +# elif ( +# repo_description is not None and search_term in repo_description.lower() +# ): +# filtered_repos.append(repo) - context["repos"] = filtered_repos - context["total_count"] = len(filtered_repos) +# context["repos"] = filtered_repos +# context["total_count"] = len(filtered_repos) - # context["repos"] = [ - # repo - # for repo in repos - # if search.lower() in repo["name"].lower() - # or search.lower() in repo["description"].lower() - # ] - # context["total_count"] = len(context["repos"]) - else: - context["repos"] = repos - context["total_count"] = total_count +# # context["repos"] = [ +# # repo +# # for repo in repos +# # if search.lower() in repo["name"].lower() +# # or search.lower() in repo["description"].lower() +# # ] +# # context["total_count"] = len(context["repos"]) +# else: +# context["repos"] = repos +# context["total_count"] = total_count - # calculate pagination - context["page"] = int(page) - context["items"] = int(items) - context["sort"] = sort - context["title"] = "My Repositories" if not search else ": Search " + search - context["direction"] = direction - context["num_pages"] = math.ceil(context["total_count"] / context["items"]) - context["repos"] = context["repos"][ - (context["page"] - 1) * context["items"] : context["page"] * context["items"] - ] +# # calculate pagination +# context["page"] = int(page) +# context["items"] = int(items) +# context["sort"] = sort +# context["title"] = "My Repositories" if not search else ": Search " + search +# context["direction"] = direction +# context["num_pages"] = math.ceil(context["total_count"] / context["items"]) +# context["repos"] = context["repos"][ +# (context["page"] - 1) * context["items"] : context["page"] * context["items"] +# ] - return render(request, "dev_status/home.html", context) +# return render(request, "dev_status/home.html", context) -def get_repo(request, r=None, p=None): - # this function handles request for browsing the contents of a repository - # the path parameter is optional and is used to browse the contents of a directory - # if the path is not provided, the root directory is displayed - # if the path is a file, the file is displayed +# def get_repo(request, r=None, p=None): +# # this function handles request for browsing the contents of a repository +# # the path parameter is optional and is used to browse the contents of a directory +# # if the path is not provided, the root directory is displayed +# # if the path is a file, the file is displayed - r = r or "thatcomputerscientist" # repository. - p = p or "" # path. +# r = r or "thatcomputerscientist" # repository. +# p = p or "" # path. - url = "https://api.github.com/graphql" - headers = {"Authorization": "token " + os.getenv("GH_TOKEN")} - parent = "/".join(p.split("/")[:-1]) if p and not len(p.split("/")) == 0 else None +# url = "https://api.github.com/graphql" +# headers = {"Authorization": "token " + os.getenv("GH_TOKEN")} +# parent = "/".join(p.split("/")[:-1]) if p and not len(p.split("/")) == 0 else None - # get the contents of the repository along with the latest commit associated with each file or directory - query = """ - query {{ - repository(owner: "luciferreeves", name: "{repo}") {{ - defaultBranchRef {{ - name - }} - object(expression: "HEAD:{path}") {{ - ... on Tree {{ - entries {{ - oid - name - type - path - }} - }} - ... on Blob {{ - oid - byteSize - text - isBinary - }} - }} - }} - }} - """.format( - repo=r, path=p - ) +# # get the contents of the repository along with the latest commit associated with each file or directory +# query = """ +# query {{ +# repository(owner: "luciferreeves", name: "{repo}") {{ +# defaultBranchRef {{ +# name +# }} +# object(expression: "HEAD:{path}") {{ +# ... on Tree {{ +# entries {{ +# oid +# name +# type +# path +# }} +# }} +# ... on Blob {{ +# oid +# byteSize +# text +# isBinary +# }} +# }} +# }} +# }} +# """.format( +# repo=r, path=p +# ) - data = requests.post(url, json={"query": query}, headers=headers).json() +# data = requests.post(url, json={"query": query}, headers=headers).json() - tree = [] - try: - viewMode = ( - "tree" if "entries" in data["data"]["repository"]["object"] else "blob" - ) - except: - viewMode = "blob" +# tree = [] +# try: +# viewMode = ( +# "tree" if "entries" in data["data"]["repository"]["object"] else "blob" +# ) +# except: +# viewMode = "blob" - # default_branch = data["data"]["repository"]["defaultBranchRef"]["name"] +# # default_branch = data["data"]["repository"]["defaultBranchRef"]["name"] - # order tree by name and folder first if it is a tree - if viewMode == "tree": - tree = sorted( - data["data"]["repository"]["object"]["entries"], - key=lambda x: (x["type"], x["name"]), - ) - # place folders first - tree = sorted(tree, key=lambda x: x["type"], reverse=True) - else: - # if it is a blob, display the file - tree = data["data"]["repository"]["object"] - tree["path"] = p - tree["name"] = p.split("/")[-1] - if not tree["isBinary"]: - tree["lines"] = text_lines(tree["text"]) - tree["loc"] = text_loc(tree["text"]) - tree["text"] = highlight_code(tree["text"], tree["name"]) +# # order tree by name and folder first if it is a tree +# if viewMode == "tree": +# tree = sorted( +# data["data"]["repository"]["object"]["entries"], +# key=lambda x: (x["type"], x["name"]), +# ) +# # place folders first +# tree = sorted(tree, key=lambda x: x["type"], reverse=True) +# else: +# # if it is a blob, display the file +# tree = data["data"]["repository"]["object"] +# tree["path"] = p +# tree["name"] = p.split("/")[-1] +# if not tree["isBinary"]: +# tree["lines"] = text_lines(tree["text"]) +# tree["loc"] = text_loc(tree["text"]) +# tree["text"] = highlight_code(tree["text"], tree["name"]) - # get commit information for each file or directory - if viewMode == "tree": - query = """ - query {{ - repository(owner: "luciferreeves", name: "{repo}") {{ - defaultBranchRef {{ - target {{ - ... on Commit {{ - """.format( - repo=r - ) +# # get commit information for each file or directory +# if viewMode == "tree": +# query = """ +# query {{ +# repository(owner: "luciferreeves", name: "{repo}") {{ +# defaultBranchRef {{ +# target {{ +# ... on Commit {{ +# """.format( +# repo=r +# ) - for entry in tree: - # make path character only - entry["uniquename"] = re.sub(r"[^a-zA-Z]", "", entry["path"]) +# for entry in tree: +# # make path character only +# entry["uniquename"] = re.sub(r"[^a-zA-Z]", "", entry["path"]) - query += """ - {uniquename}: history(first: 1, path: "{path}") {{ - nodes {{ - committedDate - message - }} - }} - """.format( - path=entry["path"], uniquename=entry["uniquename"] - ) +# query += """ +# {uniquename}: history(first: 1, path: "{path}") {{ +# nodes {{ +# committedDate +# message +# }} +# }} +# """.format( +# path=entry["path"], uniquename=entry["uniquename"] +# ) - query += "\n}\n}\n}\n}\n}" +# query += "\n}\n}\n}\n}\n}" - commit_data = requests.post(url, json={"query": query}, headers=headers).json() - try: - for entry in tree: - entry["commit"] = commit_data["data"]["repository"]["defaultBranchRef"][ - "target" - ][entry["uniquename"]]["nodes"][0] - entry = relative_date(entry) - except: - pass +# commit_data = requests.post(url, json={"query": query}, headers=headers).json() +# try: +# for entry in tree: +# entry["commit"] = commit_data["data"]["repository"]["defaultBranchRef"][ +# "target" +# ][entry["uniquename"]]["nodes"][0] +# entry = relative_date(entry) +# except: +# pass - context = {} - context["title"] = "Repository: " + r + " - " + p - context["files"] = tree - context["parent"] = parent - context["repo"] = r +# context = {} +# context["title"] = "Repository: " + r + " - " + p +# context["files"] = tree +# context["parent"] = parent +# context["repo"] = r - if "byteSize" in tree: - tree["size"] = size_format(tree["byteSize"]) - # isImage? - if viewMode == "blob": - context["files"]["def_branch"] = data["data"]["repository"]["defaultBranchRef"][ - "name" - ] - if tree["name"].endswith( - (".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp", ".ico", ".bmp") - ): - context["files"]["isImage"] = True +# if "byteSize" in tree: +# tree["size"] = size_format(tree["byteSize"]) +# # isImage? +# if viewMode == "blob": +# context["files"]["def_branch"] = data["data"]["repository"]["defaultBranchRef"][ +# "name" +# ] +# if tree["name"].endswith( +# (".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp", ".ico", ".bmp") +# ): +# context["files"]["isImage"] = True - return render(request, "dev_status/repo.html", context) +# return render(request, "dev_status/repo.html", context) |
