Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -219,16 +219,14 @@ def admin():
|
|
| 219 |
description = request.form.get('description')
|
| 220 |
photo = request.files.get('photo')
|
| 221 |
|
| 222 |
-
|
| 223 |
-
if photo
|
| 224 |
photo_filename = secure_filename(photo.filename)
|
| 225 |
-
# Сохраняем файл временно в папку uploads
|
| 226 |
uploads_dir = 'uploads'
|
| 227 |
os.makedirs(uploads_dir, exist_ok=True)
|
| 228 |
temp_path = os.path.join(uploads_dir, photo_filename)
|
| 229 |
photo.save(temp_path)
|
| 230 |
|
| 231 |
-
# Загружаем фото в репозиторий в папку "photos"
|
| 232 |
try:
|
| 233 |
api = HfApi()
|
| 234 |
api.upload_file(
|
|
@@ -240,28 +238,25 @@ def admin():
|
|
| 240 |
commit_message=f"Обновлено фото для товара {name} {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
| 241 |
)
|
| 242 |
logging.info("Фото успешно обновлено в репозитории.")
|
|
|
|
| 243 |
except Exception as e:
|
| 244 |
logging.error(f"Ошибка при загрузке фото: {e}")
|
| 245 |
return f"Ошибка при загрузке фото: {e}", 500
|
| 246 |
finally:
|
| 247 |
-
# Удаляем временный файл
|
| 248 |
os.remove(temp_path)
|
| 249 |
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
save_data(products)
|
| 264 |
-
return redirect(url_for('admin'))
|
| 265 |
|
| 266 |
elif action == 'delete':
|
| 267 |
index = int(request.form.get('index'))
|
|
|
|
| 219 |
description = request.form.get('description')
|
| 220 |
photo = request.files.get('photo')
|
| 221 |
|
| 222 |
+
# Логика обновления фотографии
|
| 223 |
+
if photo:
|
| 224 |
photo_filename = secure_filename(photo.filename)
|
|
|
|
| 225 |
uploads_dir = 'uploads'
|
| 226 |
os.makedirs(uploads_dir, exist_ok=True)
|
| 227 |
temp_path = os.path.join(uploads_dir, photo_filename)
|
| 228 |
photo.save(temp_path)
|
| 229 |
|
|
|
|
| 230 |
try:
|
| 231 |
api = HfApi()
|
| 232 |
api.upload_file(
|
|
|
|
| 238 |
commit_message=f"Обновлено фото для товара {name} {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
| 239 |
)
|
| 240 |
logging.info("Фото успешно обновлено в репозитории.")
|
| 241 |
+
products[index]['photo'] = photo_filename # Обновляем имя файла
|
| 242 |
except Exception as e:
|
| 243 |
logging.error(f"Ошибка при загрузке фото: {e}")
|
| 244 |
return f"Ошибка при загрузке фото: {e}", 500
|
| 245 |
finally:
|
|
|
|
| 246 |
os.remove(temp_path)
|
| 247 |
|
| 248 |
+
# Обновление остальных полей
|
| 249 |
+
products[index]['name'] = name
|
| 250 |
+
try:
|
| 251 |
+
price = float(price.replace(',', '.'))
|
| 252 |
+
except ValueError:
|
| 253 |
+
logging.error("Ошибка: Цена должна быть числом.")
|
| 254 |
+
return "Ошибка: Цена должна быть числом.", 400
|
| 255 |
+
products[index]['price'] = price
|
| 256 |
+
products[index]['description'] = description
|
| 257 |
+
|
| 258 |
+
save_data(products)
|
| 259 |
+
return redirect(url_for('admin'))
|
|
|
|
|
|
|
|
|
|
| 260 |
|
| 261 |
elif action == 'delete':
|
| 262 |
index = int(request.form.get('index'))
|