navpan2 commited on
Commit
8fc0b3a
·
1 Parent(s): bebec6b

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +55 -22
main.py CHANGED
@@ -1,25 +1,58 @@
1
- from fastapi import FastAPI
2
-
3
- import yt_dlp
 
 
 
 
 
 
 
 
 
 
4
  app = FastAPI()
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
- @app.get("/")
8
- async def root():
9
- return {"message": "Hello World"}
10
- @app.get("/dailymo/")
11
- async def read_item(reqUrl: str = 'https://www.dailymotion.com/video/x8pdo3p', vidFormat: str='http-720-0'):
12
-
13
- video_url = reqUrl
14
- desired_format = vidFormat
15
- ydl_opts = {
16
- 'quiet': True,
17
- 'format': desired_format,
18
- }
19
- ydl = yt_dlp.YoutubeDL(ydl_opts)
20
- info_dict = ydl.extract_info(video_url, download=False)
21
- format_url = info_dict.get('url')
22
- if format_url:
23
- return {"url":format_url,"reqUrl":reqUrl,"vidFormat":vidFormat}
24
- else:
25
- return {"url":"Not found","reqUrl":reqUrl,"vidFormat":vidFormat}
 
1
+ firebase_config = {
2
+ "apiKey": "AIzaSyBy6tm3udmXYPZ216ggqs6P2Up2owC6U4Q",
3
+ "authDomain": "chalo-5e71c.firebaseapp.com",
4
+ "databaseURL": "https://chalo-5e71c-default-rtdb.asia-southeast1.firebasedatabase.app",
5
+ "projectId": "chalo-5e71c",
6
+ "storageBucket": "chalo-5e71c.appspot.com",
7
+ "messagingSenderId": "485358834771",
8
+ "appId": "1:485358834771:web:d4aa0d636433916a87a2a6"
9
+ }
10
+ from fastapi import FastAPI,BackgroundTasks , Request
11
+ import requests
12
+ from pyrebase import initialize_app
13
+ import httpx
14
  app = FastAPI()
15
 
16
+ # Firebase configuration
17
+ async def keep_alive_request(receiver_url: str):
18
+ async with httpx.AsyncClient() as client:
19
+ response = await client.get(receiver_url)
20
+ print(f"Keep-alive request sent to {receiver_url}, Status Code: {response.status_code}")
21
+
22
+
23
+ firebase = initialize_app(firebase_config)
24
+
25
+ @app.get("/fetch_and_store_data")
26
+ def fetch_and_store_data(request: Request,url: str = "https://dailymo-api.onrender.com/dailymo/?reqUrl=https://dai.ly/k4Q1uMXJNjgzkHzEO2p&vidFormat=http-1080@60-0"):
27
+ try:
28
+ # Fetch data from the provided URL
29
+ receiver_url = str(request.base_url)
30
+ print(receiver_url)
31
+ res=0
32
+ while res!=200:
33
+ response = requests.get(url)
34
+ res=response.status_code
35
+ background_tasks = BackgroundTasks()
36
+ background_tasks.add_task(keep_alive_request, receiver_url)
37
+ print(response.status_code)
38
+ print(response.json())
39
+ data_to_store = {"a":"a"} # Assuming the response is in JSON format, adjust accordingly
40
+
41
+ # Write data to Firebase Realtime Database
42
+ db = firebase.database()
43
+ db.child('finally').set(response.json())
44
+
45
+ return {"status": "success", "message": "Data fetched and stored successfully." , "data_stored":response.json()}
46
+
47
+ except Exception as e:
48
+ return {"status": "error", "message": f"An error occurred: {str(e)}"}
49
+ @app.get("/fetch")
50
+ def fetch_and_store_data():
51
+ try:
52
+ # Fetch data from the provided URL
53
+ db = firebase.database()
54
+ response=db.child("finally").child("url").get()
55
+ return {"status": response.val()}
56
 
57
+ except Exception as e:
58
+ return {"status": "error", "message": f"An error occurred: {str(e)}"}