Spaces:
Runtime error
Runtime error
| import hashlib | |
| import json | |
| from typing import Dict, List, Optional, Union | |
| Metadata = Union[int, float, bool, str, List, Dict] | |
| def str_to_metadata(s: str) -> Optional[Metadata]: | |
| if s is None: | |
| return None | |
| return json.loads(s) | |
| def metadata_to_str(m: Metadata) -> Optional[str]: | |
| if m is None: | |
| return None | |
| return json.dumps(m) | |
| def hash_dict(d: Dict) -> str: | |
| """Returns the MD5 hash of a dictionary.""" | |
| dhash = hashlib.md5() # noqa: S303 | |
| # Sort arguments so so that the string representation is always the same. | |
| encoded = json.dumps(d, sort_keys=True).encode() | |
| dhash.update(encoded) | |
| return dhash.hexdigest() | |