Spaces:
Sleeping
Sleeping
| import os | |
| from pathlib import Path | |
| os.environ['HF_OUTPUT_REPO'] = 'votepurchase/pony' # The name of the 'model' repo to upload to. private repo recommended. | |
| # Set HF write token to HF_TOKEN as SECRET (never as environment) | |
| def upload_to_repo(path, filename): | |
| from huggingface_hub import HfApi, hf_hub_url | |
| hf_token = os.environ.get("HF_TOKEN") | |
| repo_id = os.environ.get("HF_OUTPUT_REPO") | |
| api = HfApi() | |
| try: | |
| api.upload_file(path_or_fileobj=path, path_in_repo=filename, repo_id=repo_id, token=hf_token) | |
| url = hf_hub_url(repo_id=repo_id, filename=filename) | |
| except Exception as e: | |
| print(f"Error: Failed to upload to {repo_id}. ") | |
| return None | |
| return url | |
| def upload_image(path, filename): | |
| url = upload_to_repo(path, filename) | |
| print(url) # for debug | |
| return url | |
| def compose_image_url(repo_id, filename): # Can be used in local environment | |
| from huggingface_hub import hf_hub_url | |
| url = hf_hub_url(repo_id=repo_id, filename=filename) | |
| return url | |
| def is_exists_image(filename): # Can be used in local environment | |
| from huggingface_hub import HfApi | |
| hf_token = os.environ.get("HF_TOKEN") | |
| repo_id = os.environ.get("HF_OUTPUT_REPO") | |
| api = HfApi() | |
| try: | |
| is_exists = api.file_exists(repo_id=repo_id, filename=filename, token=hf_token) | |
| except Exception as e: | |
| return None | |
| return is_exists | |
| def download_image(filename): # Can be used in local environment | |
| from huggingface_hub import HfApi | |
| hf_token = os.environ.get("HF_TOKEN") | |
| repo_id = os.environ.get("HF_OUTPUT_REPO") | |
| api = HfApi() | |
| try: | |
| if is_exists_image: | |
| api.hf_hub_download(repo_id=repo_id, filename=filename, local_dir=".", token=hf_token) | |
| except Exception as e: | |
| return | |
| # HfApi Client Document: https://huggingface.co/docs/huggingface_hub/package_reference/hf_api | |