Update app.py
Browse files
app.py
CHANGED
|
@@ -10,6 +10,7 @@ from huggingface_hub import HfApi, hf_hub_download
|
|
| 10 |
from werkzeug.utils import secure_filename
|
| 11 |
import random
|
| 12 |
import string
|
|
|
|
| 13 |
|
| 14 |
app = Flask(__name__)
|
| 15 |
app.secret_key = os.getenv("FLASK_SECRET_KEY", "supersecretkey")
|
|
@@ -21,7 +22,7 @@ ADMIN_PASSWORD = "87132morflot"
|
|
| 21 |
MAX_STORAGE_GB = 500
|
| 22 |
|
| 23 |
cache = Cache(app, config={'CACHE_TYPE': 'simple'})
|
| 24 |
-
logging.basicConfig(level=logging.INFO)
|
| 25 |
|
| 26 |
# Проверка токена
|
| 27 |
if not HF_TOKEN_WRITE:
|
|
@@ -77,7 +78,7 @@ def upload_db_to_hf():
|
|
| 77 |
)
|
| 78 |
logging.info("База данных загружена на Hugging Face")
|
| 79 |
except Exception as e:
|
| 80 |
-
logging.error(f"Ошибка при загрузке базы данных: {e}")
|
| 81 |
|
| 82 |
def download_db_from_hf():
|
| 83 |
try:
|
|
@@ -91,7 +92,7 @@ def download_db_from_hf():
|
|
| 91 |
)
|
| 92 |
logging.info("База данных скачана с Hugging Face")
|
| 93 |
except Exception as e:
|
| 94 |
-
logging.error(f"Ошибка при скачивании базы данных: {e}")
|
| 95 |
if not os.path.exists(DATA_FILE):
|
| 96 |
with open(DATA_FILE, 'w', encoding='utf-8') as f:
|
| 97 |
json.dump({'users': {}, 'files': {}}, f)
|
|
@@ -115,7 +116,7 @@ def get_file_type(filename):
|
|
| 115 |
return 'image'
|
| 116 |
return 'other'
|
| 117 |
|
| 118 |
-
# Базовый стиль CSS
|
| 119 |
BASE_STYLE = '''
|
| 120 |
:root {
|
| 121 |
--primary: #ff4d6d;
|
|
@@ -452,14 +453,15 @@ def dashboard():
|
|
| 452 |
file_size = os.path.getsize(temp_path)
|
| 453 |
|
| 454 |
api = HfApi()
|
| 455 |
-
|
|
|
|
| 456 |
try:
|
| 457 |
logging.info(f"Попытка загрузки файла: {file_path} в репозиторий {REPO_ID}")
|
| 458 |
if not HF_TOKEN_WRITE:
|
| 459 |
raise ValueError("HF_TOKEN_WRITE не установлен")
|
| 460 |
-
|
| 461 |
-
|
| 462 |
-
|
| 463 |
api.upload_file(
|
| 464 |
path_or_fileobj=temp_path,
|
| 465 |
path_in_repo=file_path,
|
|
@@ -470,7 +472,7 @@ def dashboard():
|
|
| 470 |
)
|
| 471 |
logging.info(f"Файл {filename} успешно загружен в Hugging Face")
|
| 472 |
except Exception as e:
|
| 473 |
-
logging.error(f"Ошибка при загрузке файла на Hugging Face: {
|
| 474 |
flash(f"Ошибка при загрузке файла {filename}: {str(e)}")
|
| 475 |
if os.path.exists(temp_path):
|
| 476 |
os.remove(temp_path)
|
|
|
|
| 10 |
from werkzeug.utils import secure_filename
|
| 11 |
import random
|
| 12 |
import string
|
| 13 |
+
import traceback
|
| 14 |
|
| 15 |
app = Flask(__name__)
|
| 16 |
app.secret_key = os.getenv("FLASK_SECRET_KEY", "supersecretkey")
|
|
|
|
| 22 |
MAX_STORAGE_GB = 500
|
| 23 |
|
| 24 |
cache = Cache(app, config={'CACHE_TYPE': 'simple'})
|
| 25 |
+
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
| 26 |
|
| 27 |
# Проверка токена
|
| 28 |
if not HF_TOKEN_WRITE:
|
|
|
|
| 78 |
)
|
| 79 |
logging.info("База данных загружена на Hugging Face")
|
| 80 |
except Exception as e:
|
| 81 |
+
logging.error(f"Ошибка при загрузке базы данных: {e}\n{traceback.format_exc()}")
|
| 82 |
|
| 83 |
def download_db_from_hf():
|
| 84 |
try:
|
|
|
|
| 92 |
)
|
| 93 |
logging.info("База данных скачана с Hugging Face")
|
| 94 |
except Exception as e:
|
| 95 |
+
logging.error(f"Ошибка при скачивании базы данных: {e}\n{traceback.format_exc()}")
|
| 96 |
if not os.path.exists(DATA_FILE):
|
| 97 |
with open(DATA_FILE, 'w', encoding='utf-8') as f:
|
| 98 |
json.dump({'users': {}, 'files': {}}, f)
|
|
|
|
| 116 |
return 'image'
|
| 117 |
return 'other'
|
| 118 |
|
| 119 |
+
# Базовый стиль CSS (без изменений)
|
| 120 |
BASE_STYLE = '''
|
| 121 |
:root {
|
| 122 |
--primary: #ff4d6d;
|
|
|
|
| 453 |
file_size = os.path.getsize(temp_path)
|
| 454 |
|
| 455 |
api = HfApi()
|
| 456 |
+
# Используем плоскую структуру для простоты
|
| 457 |
+
file_path = f"cloud_files/{token}_{filename}" # Уникальное имя файла
|
| 458 |
try:
|
| 459 |
logging.info(f"Попытка загрузки файла: {file_path} в репозиторий {REPO_ID}")
|
| 460 |
if not HF_TOKEN_WRITE:
|
| 461 |
raise ValueError("HF_TOKEN_WRITE не установлен")
|
| 462 |
+
# Проверка доступности репозитория и токена
|
| 463 |
+
api.repo_info(repo_id=REPO_ID, repo_type="dataset", token=HF_TOKEN_WRITE)
|
| 464 |
+
logging.info(f"Репозиторий доступен, загрузка файла: {filename}")
|
| 465 |
api.upload_file(
|
| 466 |
path_or_fileobj=temp_path,
|
| 467 |
path_in_repo=file_path,
|
|
|
|
| 472 |
)
|
| 473 |
logging.info(f"Файл {filename} успешно загружен в Hugging Face")
|
| 474 |
except Exception as e:
|
| 475 |
+
logging.error(f"Ошибка при загрузке файла на Hugging Face: {e}\n{traceback.format_exc()}")
|
| 476 |
flash(f"Ошибка при загрузке файла {filename}: {str(e)}")
|
| 477 |
if os.path.exists(temp_path):
|
| 478 |
os.remove(temp_path)
|