aboutsummaryrefslogtreecommitdiff
path: root/dev_status/views.py
diff options
context:
space:
mode:
authorBobby <[email protected]>2024-12-16 18:38:05 +0000
committerBobby <[email protected]>2024-12-16 18:38:05 +0000
commitea8f5e8517161c1bd52f61198138dfd2fc72f8e2 (patch)
tree19dd955137c8c6bb9c1143bbced320737cd93b09 /dev_status/views.py
parent04788ddd83c5e80a09a468d07427f0e365db71d7 (diff)
downloadthatcomputerscientist-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.py474
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)