Spaces:
Paused
Paused
File size: 3,053 Bytes
1330377 133cda9 1330377 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
from fastapi import APIRouter, Query
from fastapi.responses import JSONResponse
from DBFiles.database import PUBLICFilesDB
from Tools import size_calculator
from .config import Server
#from config import
router = APIRouter(
prefix="/list",
tags=["list"],
)
db = PUBLICFilesDB(Server.MONGO_DB_URI, Server.DB_NAME) # Replace with actual URI and database name
@router.get("/movies")
async def all_movies(offset: int = Query(0)):
results = []
files, next_offset = await db.GetMoviesAllBy10(offset=offset)
for file in files:
results.append({
"id": f"{file['_id']}",
"poster": file['poster'],
"title": file['title'],
"release_date": file['release_date'],
"genre": file['genre'],
"imdb_id": file['IMDB_id'],
"type": file['type'],
"file_name": file['file']['file_name'],
"document_file_id": file['file']['file_id'],
"caption": file['file']['file_name'] or "",
"size":size_calculator(file['file']['file_size']),
"video_type": file['file']['mime_type']
})
return JSONResponse(content={"count": len(results), "results": results, "next_offset": next_offset})
@router.get("/series")
async def all_series(offset: int = Query(0)):
results = []
files, next_offset = await db.GetSeriesAllBy10(offset=offset)
for file in files:
results.append({
"id": f"{file['_id']}",
"poster": file['poster'],
"title": file['title'],
"release_date": file['release_date'],
"genre": file['genre'],
"imdb_id": file['IMDB_id'],
"type": file['type'],
"file_name": file['file']['file_name'],
"document_file_id": file['file']['file_id'],
"caption": file['file']['file_name'] or "",
"size":size_calculator(file['file']['file_size']),
"video_type": file['file']['mime_type']
})
return JSONResponse(content={"count": len(results), "results": results, "next_offset": next_offset})
@router.get("/latest")
async def latest(offset: int = Query(0)):
results = []
files, next_offset = await db.GetLatestAllBy10(offset=offset)
for file in files:
results.append({
"id": f"{file['_id']}",
"poster": file['poster'],
"title": file['title'],
"release_date": file['release_date'],
"description": file['description'],
"genre": file['genre'],
"imdb_id": file['IMDB_id'],
"type": file['type'],
"file_name": file['file']['file_name'],
"document_file_id": file['file']['file_id'],
"caption": file['file']['file_name'] or "",
"size":size_calculator(file['file']['file_size']),
"video_type": file['file']['mime_type']
})
return JSONResponse(content={"count": len(results), "results": results, "next_offset": next_offset})
|