Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import time | |
import requests | |
import time | |
import os | |
import zipfile | |
import json | |
from core.conversion import get_api_link | |
from core.conversion import noop_logger | |
def fetch_code(zip_file): | |
zip_content_dict = {} | |
for file_name in zip_file.namelist(): | |
if ((file_name.lower().endswith(".py") | (file_name.lower().endswith(".ipynb")) | (file_name.lower().endswith(".md")))): | |
file_content = zip_file.open(file_name).read().decode("utf-8") | |
zip_content_dict[file_name] = file_content | |
return zip_content_dict | |
def fetch_repo_stars(repo_url, token, log_fn=noop_logger): | |
headers = {"Authorization": f"token {token}"} | |
api_url = get_api_link(repo_url) | |
api_url = api_url.replace("/zipball/", "") | |
# Sending GET request to GitHub API | |
response = requests.get(api_url, headers=headers) | |
if response.status_code == 200: | |
return json.loads(response.content)["stargazers_count"] | |
if (response.status_code == 404): | |
log_fn("ERROR", "Repository private.") | |
def fetch_readmes(zip): | |
readme_files = [readme for readme in zip.namelist() if (readme.lower().endswith("readme.md") & (len(readme.split("/")) == 2))] | |
readmes = [] | |
for readme_file in readme_files: | |
readmes.append(zip.open(readme_file).read().decode("utf-8")) | |
return readmes | |
def fetch_license(zip): | |
license_files = [license for license in zip.namelist() if (("LICENSE" in license) & (len(license.split("/")) == 2))] | |
license = None | |
if (len(license_files) > 0): | |
license = zip.open(license_files[0]).read().decode("utf-8") | |
return license | |
def fetch_openalex(paper_name, year, log_fn=noop_logger): | |
api_url = f"https://api.openalex.org/works?filter=default.search:{paper_name},publication_year:{year}" | |
response = requests.get(api_url) | |
if response.status_code == 200: | |
return response.json() | |
else: | |
log_fn("WARNING", "Could not find OpenAlex information for paper.") | |
def init_llm(log_fn=noop_logger): | |
log_fn("LOG", "Initializing LLM...") |