Spaces:
Running
Running
import os | |
import json | |
import logging | |
import asyncio | |
import traceback | |
from aiohttp import web | |
from pyrogram import raw | |
from aiohttp.http_exceptions import BadStatusLine | |
from FileStream.utils.FileProcessors.human_readable import humanbytes | |
from FileStream.config import Telegram, Server | |
from FileStream.DBFiles.database import PUBLICFilesDB | |
db = PUBLICFilesDB(Telegram.DATABASE_URL, Telegram.SESSION_NAME) | |
async def AllMovies10(request: web.Request): | |
offset = request.rel_url.query.get('offset', 0) if request.rel_url.query.get('offset' ,0) else 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 "", | |
"description": f"Size: {humanbytes(file['file']['file_size'])}\nType: {file['file']['mime_type']}", | |
}) | |
return web.json_response({"count": len(results), "results": results, "next_offset": next_offset}) # Correct JSON response format | |
async def AllSeries10(request: web.Request): | |
offset = request.rel_url.query.get('offset', 0) if request.rel_url.query.get('offset' ,0) else 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 "", | |
"description": f"Size: {humanbytes(file['file']['file_size'])}\nType: {file['file']['mime_type']}", | |
}) | |
return web.json_response({"count": len(results), "results": results, "next_offset": next_offset}) # Correct JSON response format | |
async def Leatest10(request: web.Request): | |
offset = request.rel_url.query.get('offset', 0) if request.rel_url.query.get('offset' ,0) else 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 "", | |
"description": f"Size: {humanbytes(file['file']['file_size'])}\nType: {file['file']['mime_type']}", | |
}) | |
return web.json_response({"count": len(results), "results": results, "next_offset": next_offset}) # Correct JSON response format | |