Rooni commited on
Commit
7d69df3
·
verified ·
1 Parent(s): d5c8046

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -14
app.py CHANGED
@@ -9,7 +9,6 @@ import urllib.parse
9
  import hashlib
10
  from deep_translator import GoogleTranslator
11
  from langdetect import detect
12
- import time
13
 
14
  app = Flask(__name__)
15
 
@@ -32,6 +31,7 @@ def generate_cache_key(prompt, width, height, seed, model_name):
32
  # Создаем уникальный ключ на основе всех параметров
33
  return hashlib.md5(f"{prompt}_{width}_{height}_{seed}_{model_name}".encode()).hexdigest()
34
 
 
35
  def scale_dimensions(width, height, max_width, max_height):
36
  """Масштабирует размеры изображения, сохраняя соотношение сторон, и округляет до чисел, кратных 8."""
37
  aspect_ratio = width / height
@@ -48,7 +48,8 @@ def scale_dimensions(width, height, max_width, max_height):
48
  height = (height + 3) // 8 * 8
49
  return width, height
50
 
51
- def generate_image(prompt, width, height, seed, model_name, api_key):
 
52
  headers = {
53
  "Authorization": f"Bearer {api_key}",
54
  "Content-Type": "application/json"
@@ -83,18 +84,6 @@ def generate_image(prompt, width, height, seed, model_name, api_key):
83
  app.logger.error(f"Request error occurred: {req_err}")
84
  return None
85
 
86
- @cached(cache, key=lambda prompt, width, height, seed, model_name: generate_cache_key(prompt, width, height, seed, model_name))
87
- def generate_cached_image(prompt, width, height, seed, model_name, api_key):
88
- max_retries = 2 # Максимальное количество повторных попыток
89
- for attempt in range(max_retries):
90
- image = generate_image(prompt, width, height, seed, model_name, api_key)
91
- if image:
92
- return image
93
- else:
94
- app.logger.warning(f"Retrying image generation (attempt {attempt + 1}/{max_retries})...")
95
- time.sleep(1) # Небольшая задержка перед повторной попыткой
96
- return None # Возвращаем None, если все попытки не удались
97
-
98
  @app.route('/prompt/<path:prompt>')
99
  def get_image(prompt):
100
  width = request.args.get('width', type=int, default=512)
 
9
  import hashlib
10
  from deep_translator import GoogleTranslator
11
  from langdetect import detect
 
12
 
13
  app = Flask(__name__)
14
 
 
31
  # Создаем уникальный ключ на основе всех параметров
32
  return hashlib.md5(f"{prompt}_{width}_{height}_{seed}_{model_name}".encode()).hexdigest()
33
 
34
+
35
  def scale_dimensions(width, height, max_width, max_height):
36
  """Масштабирует размеры изображения, сохраняя соотношение сторон, и округляет до чисел, кратных 8."""
37
  aspect_ratio = width / height
 
48
  height = (height + 3) // 8 * 8
49
  return width, height
50
 
51
+ @cached(cache, key=lambda prompt, width, height, seed, model_name, api_key: generate_cache_key(prompt, width, height, seed, model_name))
52
+ def generate_cached_image(prompt, width, height, seed, model_name, api_key):
53
  headers = {
54
  "Authorization": f"Bearer {api_key}",
55
  "Content-Type": "application/json"
 
84
  app.logger.error(f"Request error occurred: {req_err}")
85
  return None
86
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  @app.route('/prompt/<path:prompt>')
88
  def get_image(prompt):
89
  width = request.args.get('width', type=int, default=512)