flpolprojects commited on
Commit
217aae5
·
verified ·
1 Parent(s): ef39d74

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -20
app.py CHANGED
@@ -219,16 +219,14 @@ def admin():
219
  description = request.form.get('description')
220
  photo = request.files.get('photo')
221
 
222
- photo_filename = None
223
- if photo and photo.filename:
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
- if name and price and description:
251
- try:
252
- price = float(price.replace(',', '.'))
253
- except ValueError:
254
- logging.error("Ошибка: Цена должна быть числом.")
255
- return "Ошибка: Цена должна быть числом.", 400
256
-
257
- products[index]['name'] = name
258
- products[index]['price'] = price
259
- products[index]['description'] = description
260
- if photo_filename:
261
- products[index]['photo'] = photo_filename
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'))