Spaces:
Sleeping
Sleeping
firebase_config = { | |
"apiKey": "AIzaSyBy6tm3udmXYPZ216ggqs6P2Up2owC6U4Q", | |
"authDomain": "chalo-5e71c.firebaseapp.com", | |
"databaseURL": "https://chalo-5e71c-default-rtdb.asia-southeast1.firebasedatabase.app", | |
"projectId": "chalo-5e71c", | |
"storageBucket": "chalo-5e71c.appspot.com", | |
"messagingSenderId": "485358834771", | |
"appId": "1:485358834771:web:d4aa0d636433916a87a2a6" | |
} | |
from fastapi import FastAPI,BackgroundTasks , Request | |
import requests | |
import random | |
import string | |
from pyrebase import initialize_app | |
import httpx | |
app = FastAPI() | |
def gen_ran(): | |
length_of_string = 6 | |
random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=length_of_string)) | |
return random_string | |
# Firebase configuration | |
async def keep_alive_request(receiver_url: str): | |
async with httpx.AsyncClient() as client: | |
response = await client.get(receiver_url) | |
print(f"Keep-alive request sent to {receiver_url}, Status Code: {response.status_code}") | |
firebase = initialize_app(firebase_config) | |
async def root(): | |
return {"message": "Hello World"} | |
def fetch_and_store_data(request: Request,url: str = "https://dailymo-api.onrender.com/dailymo/?reqUrl=https://dai.ly/k4Q1uMXJNjgzkHzEO2p"): | |
try: | |
# Fetch data from the provided URL | |
receiver_url = str(request.base_url) | |
print(receiver_url) | |
res=0 | |
while res!=200: | |
response = requests.get(url+'&vidFormat=http-380-0') | |
res=response.status_code | |
background_tasks = BackgroundTasks() | |
background_tasks.add_task(keep_alive_request, receiver_url) | |
print(response.status_code) | |
print(response.json()) | |
# data_to_store = {"a":"a"} # Assuming the response is in JSON format, adjust accordingly | |
add=gen_ran() | |
# Write data to Firebase Realtime Database | |
db = firebase.database() | |
db.child('finally'+add).set(response.json()) | |
return {"status": "success", "message": "Data fetched and stored successfully." , "data_stored":response.json()} | |
except Exception as e: | |
return {"status": "error", "message": f"An error occurred: {str(e)}"} | |
def fetch_and_store_data(): | |
try: | |
# Fetch data from the provided URL | |
db = firebase.database() | |
response=db.child("finally").child("url").get() | |
return {"status": response.val()} | |
except Exception as e: | |
return {"status": "error", "message": f"An error occurred: {str(e)}"} | |