yashxx07 commited on
Commit
f8ee914
·
verified ·
1 Parent(s): ac9db55

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +42 -2
main.py CHANGED
@@ -5,6 +5,12 @@ from fastapi.responses import StreamingResponse
5
  from pydantic import BaseModel
6
  import re
7
  import replicate
 
 
 
 
 
 
8
 
9
 
10
  class Item(BaseModel):
@@ -86,8 +92,6 @@ async def root(item: Item):
86
 
87
 
88
 
89
-
90
-
91
  @app.post("/extract-content")
92
  async def root(item: Item):
93
 
@@ -102,5 +106,41 @@ async def root(item: Item):
102
 
103
  except requests.RequestException as e:
104
  return {"error": str(e), "status_code": 500}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
 
 
5
  from pydantic import BaseModel
6
  import re
7
  import replicate
8
+ import OSError
9
+ from supabase import create_client, Client
10
+
11
+ url: str = os.environ.get("DB_URL")
12
+ key: str = os.environ.get("DB_KEY")
13
+ supabase: Client = create_client(url, key)
14
 
15
 
16
  class Item(BaseModel):
 
92
 
93
 
94
 
 
 
95
  @app.post("/extract-content")
96
  async def root(item: Item):
97
 
 
106
 
107
  except requests.RequestException as e:
108
  return {"error": str(e), "status_code": 500}
109
+
110
+
111
+ async def insert_image(url , id):
112
+ data, count = await supabase.table('news')
113
+ .update({'image_url': url})
114
+ .eq('id', id)
115
+ .execute()
116
+
117
+
118
+ @app.get("/extract-images")
119
+ async def root(site: str = 'abcnews.go'):
120
+
121
+ try:
122
+
123
+ response = supabase.table('news').select("*")
124
+ .eq('source', 'www.'+ site + '.com').is_('image_url', 'null')
125
+ .order('published_date', desc=True).limit(15).execute()
126
+
127
+
128
+ for i in range(len(response.data)):
129
+
130
+ url = response.data[i]['article_url']
131
+ try:
132
+ res = requests.get(url)
133
+ soup = BeautifulSoup(res.text, 'html.parser')
134
+ results = soup.find_all(['img'])
135
+ url = results[1]['src']
136
+
137
+ await insert_image(url, response.data[i]['id'] )
138
+
139
+ except Exception as e:
140
+ results = None
141
+
142
+
143
+ except requests.RequestException as e:
144
+ return {"error": str(e), "status_code": 500}
145
 
146