Spaces:
Running
Running
| import time | |
| import requests | |
| from omegaconf import OmegaConf | |
| def gh_download(repo, path): | |
| paths = [path] if isinstance(path, str) else path | |
| result = None | |
| headers = { | |
| "Accept": "application/vnd.github.raw+json", | |
| } | |
| for path in paths: | |
| url = f"https://api.github.com/repos/{repo}/contents/{path}" | |
| response = requests.get(url, headers=headers) | |
| if response.status_code != 200: | |
| raise Exception(f"Failed to download {path} from {repo}") | |
| if result is None: | |
| result = response.json() | |
| elif isinstance(result, list): | |
| result.extend(response.json()) | |
| elif isinstance(result, dict): | |
| result.update(response.json()) | |
| time.sleep(0.1) | |
| return result | |
| OmegaConf.register_new_resolver("gh_download", gh_download) | |