Spaces:
Running
Running
Update main.py
Browse files
main.py
CHANGED
@@ -341,6 +341,75 @@ def sibyl_system(
|
|
341 |
else:
|
342 |
return {"status": "false", "message": "Not Found User"}
|
343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
@app.post(
|
346 |
"/UFoP/gemini-the-oracle",
|
|
|
341 |
else:
|
342 |
return {"status": "false", "message": "Not Found User"}
|
343 |
|
344 |
+
@app.get("/UFoP/yts", response_model=List[MovieInfo])
|
345 |
+
def get_movie_info(name: str, api_key: str = Header(...)):
|
346 |
+
validate_api_key(api_key) # Validate API key here
|
347 |
+
results = []
|
348 |
+
try:
|
349 |
+
for page in range(1, 2):
|
350 |
+
url = f"https://yts.mx/browse-movies/{name}/all/all/0/seeds/0/all"
|
351 |
+
r = requests.get(url).text
|
352 |
+
soup = BeautifulSoup(r, "lxml")
|
353 |
+
for movie in soup.findAll("div", class_="browse-movie-wrap col-xs-10 col-sm-4 col-md-5 col-lg-4"):
|
354 |
+
mov_name = movie.find("div", class_="browse-movie-bottom")
|
355 |
+
movie_name = mov_name.a.text
|
356 |
+
movie_year = mov_name.div.text
|
357 |
+
movie_name = movie_name + " " + movie_year
|
358 |
+
rating = movie.find("h4", class_="rating", text=True)
|
359 |
+
if rating is not None:
|
360 |
+
rating = rating.text
|
361 |
+
rating = rating[:3]
|
362 |
+
else:
|
363 |
+
rating = "0.0"
|
364 |
+
if rating[2] == "/":
|
365 |
+
rating = rating[0:2]
|
366 |
+
try:
|
367 |
+
if movie_name[0] == "[" and movie_name[3] == "]":
|
368 |
+
movie_name = movie_name[5:]
|
369 |
+
movie_name = movie_name.replace(" ", "-")
|
370 |
+
index = 0
|
371 |
+
for char in movie_name:
|
372 |
+
if not char.isalnum() and char != "-":
|
373 |
+
movie_name = movie_name.replace(char, "")
|
374 |
+
for char in movie_name:
|
375 |
+
if char == "-" and movie_name[index + 1] == "-":
|
376 |
+
movie_name = movie_name[:index] + movie_name[index + 1:]
|
377 |
+
if index < len(movie_name) - 1:
|
378 |
+
index = index + 1
|
379 |
+
if "--" in movie_name:
|
380 |
+
movie_name = movie_name.replace("--", "-")
|
381 |
+
movie_url = f"https://yts.mx/movie/{movie_name.lower()}"
|
382 |
+
request = requests.get(movie_url).text
|
383 |
+
n_soup = BeautifulSoup(request, "lxml")
|
384 |
+
info = n_soup.find("div", class_="bottom-info")
|
385 |
+
torrent_info = n_soup.find("p", class_="hidden-xs hidden-sm")
|
386 |
+
genre = n_soup.findAll("h2")[1].text
|
387 |
+
likes = info.find("span", id="movie-likes").text
|
388 |
+
imdb_link = info.find("a", title="IMDb Rating")["href"]
|
389 |
+
for torrent in torrent_info.findAll("a"):
|
390 |
+
if torrent.text[:3] == "720":
|
391 |
+
torrent_720 = torrent["href"]
|
392 |
+
if torrent.text[:4] == "1080":
|
393 |
+
torrent_1080 = torrent["href"]
|
394 |
+
entry = {
|
395 |
+
"yts_link": movie_url,
|
396 |
+
"name": movie_name,
|
397 |
+
"year": movie_year,
|
398 |
+
"imdb_links": imdb_link,
|
399 |
+
"genre": genre,
|
400 |
+
"imdb_ratings": rating,
|
401 |
+
"likes": likes,
|
402 |
+
"torrent_720p": torrent_720,
|
403 |
+
"torrent_1080p": torrent_1080
|
404 |
+
}
|
405 |
+
results.append(entry)
|
406 |
+
except Exception as e:
|
407 |
+
print("Error:", e)
|
408 |
+
continue
|
409 |
+
except Exception as e:
|
410 |
+
print("Error:", e)
|
411 |
+
return results
|
412 |
+
|
413 |
|
414 |
@app.post(
|
415 |
"/UFoP/gemini-the-oracle",
|