Sergidev commited on
Commit
2f11824
1 Parent(s): e92b65a
Files changed (1) hide show
  1. utils.py +12 -11
utils.py CHANGED
@@ -6,8 +6,7 @@ import json
6
  import torch
7
  from PIL import Image, PngImagePlugin
8
  from datetime import datetime
9
- from dataclasses import dataclass
10
- from typing import Callable, Dict, Optional, Tuple
11
  from diffusers import (
12
  DDIMScheduler,
13
  DPMSolverMultistepScheduler,
@@ -15,8 +14,6 @@ from diffusers import (
15
  EulerAncestralDiscreteScheduler,
16
  EulerDiscreteScheduler,
17
  )
18
- import base64
19
- from io import BytesIO
20
 
21
  MAX_SEED = np.iinfo(np.int32).max
22
 
@@ -46,7 +43,7 @@ def aspect_ratio_handler(aspect_ratio: str, custom_width: int, custom_height: in
46
  width, height = parse_aspect_ratio(aspect_ratio)
47
  return width, height
48
 
49
- def get_scheduler(scheduler_config: Dict, name: str) -> Optional[Callable]:
50
  scheduler_factory_map = {
51
  "DPM++ 2M Karras": lambda: DPMSolverMultistepScheduler.from_config(scheduler_config, use_karras_sigmas=True),
52
  "DPM++ SDE Karras": lambda: DPMSolverSinglestepScheduler.from_config(scheduler_config, use_karras_sigmas=True),
@@ -95,6 +92,15 @@ def is_google_colab():
95
  except:
96
  return False
97
 
 
 
 
 
 
 
 
 
 
98
  def validate_json_parameters(json_str):
99
  try:
100
  params = json.loads(json_str)
@@ -106,9 +112,4 @@ def validate_json_parameters(json_str):
106
  except json.JSONDecodeError:
107
  raise ValueError("Invalid JSON format")
108
  except Exception as e:
109
- raise ValueError(f"Error parsing JSON: {str(e)}")
110
-
111
- def image_to_base64(image):
112
- buffered = BytesIO()
113
- image.save(buffered, format="PNG")
114
- return base64.b64encode(buffered.getvalue()).decode("utf-8")
 
6
  import torch
7
  from PIL import Image, PngImagePlugin
8
  from datetime import datetime
9
+ from typing import Dict, Optional, Tuple
 
10
  from diffusers import (
11
  DDIMScheduler,
12
  DPMSolverMultistepScheduler,
 
14
  EulerAncestralDiscreteScheduler,
15
  EulerDiscreteScheduler,
16
  )
 
 
17
 
18
  MAX_SEED = np.iinfo(np.int32).max
19
 
 
43
  width, height = parse_aspect_ratio(aspect_ratio)
44
  return width, height
45
 
46
+ def get_scheduler(scheduler_config: Dict, name: str) -> Optional[DDIMScheduler]:
47
  scheduler_factory_map = {
48
  "DPM++ 2M Karras": lambda: DPMSolverMultistepScheduler.from_config(scheduler_config, use_karras_sigmas=True),
49
  "DPM++ SDE Karras": lambda: DPMSolverSinglestepScheduler.from_config(scheduler_config, use_karras_sigmas=True),
 
92
  except:
93
  return False
94
 
95
+ def get_image_metadata(image_path):
96
+ try:
97
+ with Image.open(image_path) as img:
98
+ metadata = img.info.get('metadata', '{}')
99
+ return json.loads(metadata)
100
+ except Exception as e:
101
+ print(f"Error reading metadata from {image_path}: {str(e)}")
102
+ return {}
103
+
104
  def validate_json_parameters(json_str):
105
  try:
106
  params = json.loads(json_str)
 
112
  except json.JSONDecodeError:
113
  raise ValueError("Invalid JSON format")
114
  except Exception as e:
115
+ raise ValueError(f"Error parsing JSON: {str(e)}")