Spaces:
Paused
Paused
| #!/usr/bin/python3 | |
| # -*- coding: utf-8 -*- | |
| import argparse | |
| import json | |
| import logging | |
| import shutil | |
| import tempfile | |
| from pathlib import Path | |
| import requests | |
| from huggingface_hub import HfApi, login | |
| from project_settings import project_path, environment | |
| from toolbox.design_patterns.singleton import ParamsSingleton | |
| logger = logging.getLogger("toolbox") | |
| class HfNetdiskClient(ParamsSingleton): | |
| def __init__(self, hf_token: str = None): | |
| if not self._initialized: | |
| self.hf_token = hf_token | |
| self.hf_api = HfApi(token=hf_token) | |
| self._initialized = True | |
| def check_login(self): | |
| flag = False | |
| try: | |
| user_info = self.hf_api.whoami() | |
| user_info = json.dumps(user_info, ensure_ascii=False) | |
| flag = True | |
| except requests.exceptions.HTTPError as error: | |
| user_info = f"whoami failed; error type: {type(error)}, error text: {str(error)}" | |
| except Exception as error: | |
| user_info = f"whoami failed; error type: {type(error)}, error text: {str(error)}" | |
| logger.info(f"login flag: {flag}, user_info: {user_info}") | |
| return flag | |
| def get_args(): | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument( | |
| "--key_of_credentials", | |
| default="hf_miyuki_write_token", | |
| type=str, | |
| ) | |
| args = parser.parse_args() | |
| return args | |
| def main(): | |
| args = get_args() | |
| import log | |
| from project_settings import environment, project_path, log_directory, time_zone_info | |
| log.setup_size_rotating(log_directory=log_directory, tz_info=time_zone_info) | |
| hf_token = environment.get(key=args.key_of_credentials) | |
| client = HfNetdiskClient( | |
| hf_token=hf_token, | |
| ) | |
| client.check_login() | |
| return | |
| if __name__ == "__main__": | |
| main() | |