Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -10,6 +10,7 @@ from huggingface_hub.utils import RepositoryNotFoundError, HfHubHTTPError
|
|
| 10 |
from werkzeug.utils import secure_filename
|
| 11 |
from dotenv import load_dotenv
|
| 12 |
import requests
|
|
|
|
| 13 |
|
| 14 |
load_dotenv()
|
| 15 |
|
|
@@ -752,7 +753,8 @@ def admin():
|
|
| 752 |
|
| 753 |
elif action in ['add_equipment', 'edit_equipment']:
|
| 754 |
name = request.form.get('name', '').strip()
|
| 755 |
-
|
|
|
|
| 756 |
category = request.form.get('category')
|
| 757 |
if not name or price <= 0:
|
| 758 |
flash("Название и цена обязательны.", 'error')
|
|
@@ -862,15 +864,18 @@ def upload_photo_to_hf(photo, item_name, folder):
|
|
| 862 |
ext = os.path.splitext(photo.filename)[1].lower()
|
| 863 |
photo_filename = f"{safe_name}_{datetime.now().strftime('%Y%m%d%H%M%S%f')}{ext}"
|
| 864 |
|
|
|
|
|
|
|
|
|
|
| 865 |
api.upload_file(
|
| 866 |
-
path_or_fileobj=
|
| 867 |
repo_id=REPO_ID, repo_type="dataset", token=HF_TOKEN_WRITE
|
| 868 |
)
|
| 869 |
logging.info(f"Uploaded photo {photo_filename} to {folder}")
|
| 870 |
return photo_filename
|
| 871 |
except Exception as e:
|
| 872 |
-
logging.error(f"Error uploading photo {photo.filename}: {e}")
|
| 873 |
-
flash(f"Ошибка загрузки фото {photo.filename}.", 'error')
|
| 874 |
return None
|
| 875 |
|
| 876 |
def delete_photo_from_hf(photo_filename, folder):
|
|
|
|
| 10 |
from werkzeug.utils import secure_filename
|
| 11 |
from dotenv import load_dotenv
|
| 12 |
import requests
|
| 13 |
+
import io
|
| 14 |
|
| 15 |
load_dotenv()
|
| 16 |
|
|
|
|
| 753 |
|
| 754 |
elif action in ['add_equipment', 'edit_equipment']:
|
| 755 |
name = request.form.get('name', '').strip()
|
| 756 |
+
price_str = request.form.get('price')
|
| 757 |
+
price = round(float(price_str), 2) if price_str else 0
|
| 758 |
category = request.form.get('category')
|
| 759 |
if not name or price <= 0:
|
| 760 |
flash("Название и цена обязательны.", 'error')
|
|
|
|
| 864 |
ext = os.path.splitext(photo.filename)[1].lower()
|
| 865 |
photo_filename = f"{safe_name}_{datetime.now().strftime('%Y%m%d%H%M%S%f')}{ext}"
|
| 866 |
|
| 867 |
+
# Ensure the file object is in binary mode
|
| 868 |
+
photo_file_obj = io.BytesIO(photo.read())
|
| 869 |
+
|
| 870 |
api.upload_file(
|
| 871 |
+
path_or_fileobj=photo_file_obj, path_in_repo=f"{folder}/{photo_filename}",
|
| 872 |
repo_id=REPO_ID, repo_type="dataset", token=HF_TOKEN_WRITE
|
| 873 |
)
|
| 874 |
logging.info(f"Uploaded photo {photo_filename} to {folder}")
|
| 875 |
return photo_filename
|
| 876 |
except Exception as e:
|
| 877 |
+
logging.error(f"Error uploading photo {photo.filename}: {e}", exc_info=True)
|
| 878 |
+
flash(f"Ошибка загрузки фото {photo.filename}. Проверьте формат и размер.", 'error')
|
| 879 |
return None
|
| 880 |
|
| 881 |
def delete_photo_from_hf(photo_filename, folder):
|