Clipping / main.py
aliSaac510's picture
fix defaults
8c64cc3
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import uvicorn
from datetime import datetime
from routers import video, files, presets
from init_defaults import init_all_defaults
import os
# تهيئة الإعدادات الافتراضية عند بدء التشغيل
init_all_defaults()
# إعداد المسارات لتكون دائماً داخل مجلد Clipping
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
UPLOAD_BASE_DIR = os.path.join(BASE_DIR, "temp_videos")
ORIGINALS_DIR = os.path.join(UPLOAD_BASE_DIR, "originals")
PROCESSED_DIR = os.path.join(UPLOAD_BASE_DIR, "processed")
AUDIO_DIR = os.path.join(UPLOAD_BASE_DIR, "audio")
TEMP_DIR = os.path.join(UPLOAD_BASE_DIR, "temp")
# إنشاء الفولدرات
for directory in [UPLOAD_BASE_DIR, ORIGINALS_DIR, PROCESSED_DIR, AUDIO_DIR, TEMP_DIR]:
os.makedirs(directory, exist_ok=True)
app = FastAPI(
title="Video Processing API",
description="Simple API for video processing - optimized for n8n automation",
version="1.0.0"
)
# CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers - توحيد الـ tags
app.include_router(video.router, prefix="/api/video", tags=["Video"])
app.include_router(files.router, prefix="/api/files", tags=["Files"])
app.include_router(presets.router, prefix="/api/presets", tags=["Presets"])
# نحذف نظام إدارة النسخ لحد ما نحتاجه
@app.get("/")
async def root():
return {
"message": "Video Processing API",
"version": "1.0.0",
"timestamp": datetime.now().isoformat()
}
@app.get("/health")
async def health_check():
return {
"status": "healthy",
"timestamp": datetime.now().isoformat()
}
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=7860, reload=True)