HollyCorn commited on
Commit
c5c50ce
·
verified ·
1 Parent(s): 1e4a9fa

Upload main.py

Browse files
Files changed (1) hide show
  1. main.py +18 -13
main.py CHANGED
@@ -61,20 +61,25 @@ async def upload_to_bucket(url, user_id, prefix="temp"):
61
  return None, None
62
 
63
 
64
- async def download_file(url, retries=5, delay=2):
65
- """Пытается скачать файл из бакета несколько раз с задержкой"""
66
  for i in range(retries):
67
  try:
68
  async with aiohttp.ClientSession() as session:
69
- async with session.get(url, timeout=10) as resp:
70
  if resp.status == 200:
71
  data = await resp.read()
72
- if data and len(data) > 0:
 
73
  return io.BytesIO(data)
74
- logger.warning(f"Попытка {i+1} скачивания файла не удалась, ждем {delay} сек...")
 
 
 
 
75
  await asyncio.sleep(delay)
76
  except Exception as e:
77
- logger.error(f"Ошибка на попытке {i+1} скачивания файла для ВК: {e}")
78
  await asyncio.sleep(delay)
79
  return None
80
 
@@ -418,13 +423,13 @@ async def main_handler(message: Message):
418
  if user['status'] == "wait_gender_free" and not user['primary_photo']:
419
  supabase.table("users").update({"status": "wait_primary_photo"}).eq("id", message.from_id).execute()
420
  return await message.answer("📸 Отправь одно своё фото — я сделаю стильный образ\n\n"
421
- "Чтобы результат получился классным, важно:\n"
422
- "• на фото только ты\n"
423
- "• лицо хорошо освещено и видно целиком\n"
424
- "• без очков, шапок и эффектов\n"
425
- "• без других людей в кадре\n\n"
426
- "Через пару минут ты получишь стильное нейро-изображение ✨\n\n"
427
- "Жду фотографию ⬇️")
428
  return await message.answer("✅ Сохранено", keyboard=get_main_menu(user['free_used']))
429
 
430
  supabase.table("users").update({"status": "main"}).eq("id", message.from_id).execute()
 
61
  return None, None
62
 
63
 
64
+ async def download_file(url, retries=5, delay=3):
65
+ """Пытается скачать файл из бакета несколько раз с задержкой и проверкой размера"""
66
  for i in range(retries):
67
  try:
68
  async with aiohttp.ClientSession() as session:
69
+ async with session.get(url, timeout=15) as resp:
70
  if resp.status == 200:
71
  data = await resp.read()
72
+ # Проверка: файл должен существовать и быть больше 500 байт (минимум для картинки)
73
+ if data and len(data) > 500:
74
  return io.BytesIO(data)
75
+ else:
76
+ logger.warning(
77
+ f"Попытка {i + 1}: Файл пустой или неполный ({len(data) if data else 0} байт)")
78
+
79
+ logger.warning(f"Попытка {i + 1} скачивания не удалась, ждем {delay} сек...")
80
  await asyncio.sleep(delay)
81
  except Exception as e:
82
+ logger.error(f"Ошибка на попытке {i + 1} скачивания файла для ВК: {e}")
83
  await asyncio.sleep(delay)
84
  return None
85
 
 
423
  if user['status'] == "wait_gender_free" and not user['primary_photo']:
424
  supabase.table("users").update({"status": "wait_primary_photo"}).eq("id", message.from_id).execute()
425
  return await message.answer("📸 Отправь одно своё фото — я сделаю стильный образ\n\n"
426
+ "Чтобы результат получился классным, важно:\n"
427
+ "• на фото только ты\n"
428
+ "• лицо хорошо освещено и видно целиком\n"
429
+ "• без очков, шапок и эффектов\n"
430
+ "• без других людей в кадре\n\n"
431
+ "Через пару минут ты получишь стильное нейро-изображение ✨\n\n"
432
+ "Жду фотографию ⬇️")
433
  return await message.answer("✅ Сохранено", keyboard=get_main_menu(user['free_used']))
434
 
435
  supabase.table("users").update({"status": "main"}).eq("id", message.from_id).execute()