Add alpha and beta versions

This commit is contained in:
2026-05-24 13:51:49 +03:00
commit 12ee7eee2d
27 changed files with 1305 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
import requests
import base64
def split_link(repo_link):
parts = repo_link.replace("https://", "").split("/")
base_url = "https://" + parts[0]
owner = parts[1]
repo = parts[2]
return base_url, owner, repo
def get_repo_data(repo_link):
base_url, owner, repo = split_link(repo_link)
url = f"{base_url}/api/v1/repos/{owner}/{repo}"
return requests.get(url).json()
def get_commits(repo_link):
base_url, owner, repo = split_link(repo_link)
url = f"{base_url}/api/v1/repos/{owner}/{repo}/commits"
return requests.get(url).json()
def get_code_lines(repo_link):
base_url, owner, repo = split_link(repo_link)
# получаем список файлов
url = f"{base_url}/api/v1/repos/{owner}/{repo}/git/trees/main?recursive=1"
data = requests.get(url).json()
total_lines = 0
for file in data.get("tree", []):
if file.get("type") != "blob":
continue
path = file.get("path", "")
if not path.endswith(".py"):
continue
# читаем файл через API (НЕ raw!)
file_url = f"{base_url}/api/v1/repos/{owner}/{repo}/contents/{path}"
r = requests.get(file_url)
if r.status_code != 200:
continue
file_data = r.json()
content = file_data.get("content")
if content:
decoded = base64.b64decode(content).decode("utf-8", errors="ignore")
total_lines += len(decoded.splitlines())
return total_lines