Rooni commited on
Commit
b2e3d76
·
verified ·
1 Parent(s): aca76a9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -5
app.py CHANGED
@@ -67,7 +67,7 @@ def generate_cached_image(cache_key, prompt, width, height, seed, model_name):
67
  return image
68
  except requests.exceptions.RequestException as e:
69
  app.logger.error(f"Error generating image: {e}")
70
- abort(500, description="Error generating image")
71
 
72
  @app.route('/prompt/<path:prompt>')
73
  def get_image(prompt):
@@ -84,7 +84,7 @@ def get_image(prompt):
84
  language = detect(prompt)
85
  except Exception as e:
86
  app.logger.error(f"Error detecting language: {e}")
87
- abort(500, description="Error detecting language")
88
 
89
  # Переводим промпт, если он не на английском языке
90
  if language != 'en':
@@ -93,7 +93,7 @@ def get_image(prompt):
93
  prompt = translator.translate(prompt)
94
  except Exception as e:
95
  app.logger.error(f"Error translating prompt: {e}")
96
- abort(500, description="Error translating prompt")
97
 
98
  # Масштабируем размеры изображения, если они превышают максимальные значения
99
  width, height = scale_dimensions(width, height, MAX_WIDTH, MAX_HEIGHT)
@@ -103,9 +103,11 @@ def get_image(prompt):
103
 
104
  try:
105
  image = generate_cached_image(cache_key, prompt, width, height, seed, model_name)
 
 
106
  except Exception as e:
107
  app.logger.error(f"Error generating image: {e}")
108
- abort(500, description="Error generating image")
109
 
110
  img_byte_arr = io.BytesIO()
111
  image.save(img_byte_arr, format='PNG')
@@ -120,5 +122,22 @@ def get_image(prompt):
120
  def health_check():
121
  return "OK", 200
122
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  if __name__ == '__main__':
124
- app.run(host='0.0.0.0', port=7860, debug=False)
 
67
  return image
68
  except requests.exceptions.RequestException as e:
69
  app.logger.error(f"Error generating image: {e}")
70
+ return None
71
 
72
  @app.route('/prompt/<path:prompt>')
73
  def get_image(prompt):
 
84
  language = detect(prompt)
85
  except Exception as e:
86
  app.logger.error(f"Error detecting language: {e}")
87
+ return send_error_image()
88
 
89
  # Переводим промпт, если он не на английском языке
90
  if language != 'en':
 
93
  prompt = translator.translate(prompt)
94
  except Exception as e:
95
  app.logger.error(f"Error translating prompt: {e}")
96
+ return send_error_image()
97
 
98
  # Масштабируем размеры изображения, если они превышают максимальные значения
99
  width, height = scale_dimensions(width, height, MAX_WIDTH, MAX_HEIGHT)
 
103
 
104
  try:
105
  image = generate_cached_image(cache_key, prompt, width, height, seed, model_name)
106
+ if image is None:
107
+ return send_error_image()
108
  except Exception as e:
109
  app.logger.error(f"Error generating image: {e}")
110
+ return send_error_image()
111
 
112
  img_byte_arr = io.BytesIO()
113
  image.save(img_byte_arr, format='PNG')
 
122
  def health_check():
123
  return "OK", 200
124
 
125
+ def send_error_image():
126
+ error_image_url = "https://raw.githubusercontent.com/Igroshka/-/refs/heads/main/img/nuai/errorimg.png"
127
+ try:
128
+ response = requests.get(error_image_url)
129
+ response.raise_for_status()
130
+ error_image = Image.open(io.BytesIO(response.content))
131
+ img_byte_arr = io.BytesIO()
132
+ error_image.save(img_byte_arr, format='PNG')
133
+ img_byte_arr = img_byte_arr.getvalue()
134
+ return send_file(
135
+ io.BytesIO(img_byte_arr),
136
+ mimetype='image/png'
137
+ )
138
+ except Exception as e:
139
+ app.logger.error(f"Error fetching error image: {e}")
140
+ abort(500, description="Error fetching error image")
141
+
142
  if __name__ == '__main__':
143
+ app.run(host='0.0.0.0', port=7860, debug=False)