Spaces:
Running
Running
File size: 1,628 Bytes
af661cf 16e2509 af661cf 68a2a86 5d7c941 68a2a86 af661cf 68a2a86 c7b5125 af661cf c7b5125 28603d6 68a2a86 c7b5125 68a2a86 |
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 |
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.Database import Database
from FileStream.config import Telegram, Server
db = Database(Telegram.DATABASE_URL, Telegram.SESSION_NAME)
async def SearchAll(request: web.Request):
print(Telegram.DATABASE_URL, Telegram.SESSION_NAME)
query = request.rel_url.query.get('query', '') # Extract 'query' from URL params
#print(query, offset) # Debugging print
results = []
offset = int(request.rel_url.query.get('offset') if request.rel_url.query.get('offset') else 0 ) # Convert offset to integer
# Simulating a database function call (replace with actual implementation)
files, next_offset = await db.get_search_results(query, file_type=None, max_results=10, 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
|