formatter.py 759 B

1234567891011121314151617181920212223242526
  1. import json
  2. import hashlib
  3. def escape_dollar(text: str) -> str:
  4. return text.replace("$", "$$")
  5. def get_hashed_name_for_volume(prefix: str, config: dict):
  6. config_hash = hashlib.sha256(json.dumps(config).encode("utf-8")).hexdigest()
  7. return f"{prefix}_{config_hash}"
  8. def get_hash_with_prefix(prefix: str, data: str):
  9. return f"{prefix}_{hashlib.sha256(data.encode('utf-8')).hexdigest()}"
  10. def merge_dicts_no_overwrite(dict1, dict2):
  11. overlapping_keys = dict1.keys() & dict2.keys()
  12. if overlapping_keys:
  13. raise ValueError(f"Merging of dicts failed. Overlapping keys: {overlapping_keys}")
  14. return {**dict1, **dict2}
  15. def get_image_with_hashed_data(image: str, data: str):
  16. return get_hash_with_prefix(f"ix-{image}", data)