File size: 1,484 Bytes
a8f0097
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from huggingface_hub import HfApi
from pathlib import Path

class HuggingFaceUploader:
    def __init__(self, hf_token: str, repo_id: str):
        self.api = HfApi(token=hf_token)
        self.repo_id = repo_id

    def upload_folder_with_structure(self, folder_path: str, destination_folder: str):
        folder_path = Path(folder_path)
        destination_folder = Path(destination_folder)

        for local_path in folder_path.rglob('*'):
            if local_path.is_file():
                # Define the path in the repository
                relative_path = local_path.relative_to(folder_path)
                path_in_repo = str(destination_folder / relative_path).replace("\\", "/")  # Ensuring forward slashes

                # Upload each file to the correct path in the repository
                self.api.upload_file(
                    path_or_fileobj=str(local_path),
                    path_in_repo=path_in_repo,
                    repo_id=self.repo_id,
                    repo_type="model"
                )
                print(f"Uploaded '{local_path}' to '{path_in_repo}' in the Hugging Face repository '{self.repo_id}'.")

if __name__ == "__main__":
    hf_token = ""
    repo_id = ""
    folder_path = "content"  # Set the local folder path
    destination_folder = "hindi"  # Adjust the destination folder structure as needed
    uploader = HuggingFaceUploader(hf_token, repo_id)
    uploader.upload_folder_with_structure(folder_path, destination_folder)