Spaces:
Running on Zero
Running on Zero
Download database/metadata.py from ashish-001/SnapSearch: direct link, hf CLI and curl.
- Browser
- Download file 1.02 kB
-
https://huggingface.co/spaces/ashish-001/SnapSearch/resolve/main/database/metadata.py
- Command line
-
hf download hf://spaces/ashish-001/SnapSearch/database/metadata.py
-
curl -L -o metadata.py https://huggingface.co/spaces/ashish-001/SnapSearch/resolve/main/database/metadata.py
1.02 kB
| import pickle | |
| import os | |
| class MetaData: | |
| def __init__(self): | |
| self.records = [] | |
| def create(self, image_paths): | |
| self.records = [] | |
| self.add(image_paths) | |
| def add(self, image_paths): | |
| for image_path in image_paths: | |
| self.records.append({"image_path": os.path.basename(image_path)}) | |
| def get_record(self, index): | |
| return self.records[index] | |
| def get_records(self, indices): | |
| return [self.records[index] for index in indices if index != -1] | |
| def save(self, file_path): | |
| with open(file_path, "wb") as f: | |
| pickle.dump(self.records, f) | |
| def load(self, file_path): | |
| if os.path.exists(file_path): | |
| with open(file_path, "rb") as f: | |
| self.records = pickle.load(f) | |
| else: | |
| self.records = [] | |
| def size(self): | |
| return len(self.records) | |
| def get_image_paths(self): | |
| return {record['image_path'] for record in self.records} | |