Uhhy commited on
Commit
b0ec203
·
verified ·
1 Parent(s): 8309a97

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -6
app.py CHANGED
@@ -18,6 +18,8 @@ from selenium.webdriver.support import expected_conditions as EC
18
  from selenium.webdriver.common.action_chains import ActionChains
19
  import time
20
  from webdriver_manager.chrome import ChromeDriverManager
 
 
21
 
22
  load_dotenv()
23
 
@@ -529,12 +531,13 @@ def simulate_spotify_view(video_id: str, proxy: Proxy, session: requests.Session
529
  finally:
530
  driver.quit()
531
 
532
- def simulate_views(url: str, platform: str, count: int, delay: int, parallel_processes: int, session: requests.Session = None):
533
  video_id = extract_video_id(url, platform)
534
  proxy = get_random_proxy()
535
  if not proxy:
536
  return
537
- for _ in range(count):
 
538
  try:
539
  if platform == "instagram":
540
  simulate_instagram_view(video_id, proxy, session)
@@ -548,17 +551,19 @@ def simulate_views(url: str, platform: str, count: int, delay: int, parallel_pro
548
  simulate_twitch_view(video_id, proxy, session)
549
  elif platform == "spotify":
550
  simulate_spotify_view(video_id, proxy, session)
 
551
  except Exception as e:
552
  pass
553
 
554
  @app.post("/simulate_views")
555
- async def simulate_views_endpoint(request: VisitRequest):
556
  try:
557
  session = None
558
  if os.getenv(f'{request.platform.upper()}_USER') and os.getenv(f'{request.platform.upper()}_PASSWORD'):
559
  session = authenticate(os.getenv(f'{request.platform.upper()}_USER'), os.getenv(f'{request.platform.upper()}_PASSWORD'), request.platform)
560
-
561
- simulate_views(
 
562
  url=request.url,
563
  platform=request.platform,
564
  count=request.count,
@@ -566,7 +571,8 @@ async def simulate_views_endpoint(request: VisitRequest):
566
  parallel_processes=request.parallel_processes,
567
  session=session
568
  )
569
- return PlainTextResponse("Views simulation started")
 
570
 
571
  except Exception as e:
572
  return PlainTextResponse(str(e), status_code=500)
 
18
  from selenium.webdriver.common.action_chains import ActionChains
19
  import time
20
  from webdriver_manager.chrome import ChromeDriverManager
21
+ from fastapi import BackgroundTasks
22
+ from tqdm import tqdm
23
 
24
  load_dotenv()
25
 
 
531
  finally:
532
  driver.quit()
533
 
534
+ def simulate_views_background(url: str, platform: str, count: int, delay: int, parallel_processes: int, session: requests.Session = None):
535
  video_id = extract_video_id(url, platform)
536
  proxy = get_random_proxy()
537
  if not proxy:
538
  return
539
+
540
+ for i in tqdm(range(count)):
541
  try:
542
  if platform == "instagram":
543
  simulate_instagram_view(video_id, proxy, session)
 
551
  simulate_twitch_view(video_id, proxy, session)
552
  elif platform == "spotify":
553
  simulate_spotify_view(video_id, proxy, session)
554
+ time.sleep(delay)
555
  except Exception as e:
556
  pass
557
 
558
  @app.post("/simulate_views")
559
+ async def simulate_views_endpoint(request: VisitRequest, background_tasks: BackgroundTasks):
560
  try:
561
  session = None
562
  if os.getenv(f'{request.platform.upper()}_USER') and os.getenv(f'{request.platform.upper()}_PASSWORD'):
563
  session = authenticate(os.getenv(f'{request.platform.upper()}_USER'), os.getenv(f'{request.platform.upper()}_PASSWORD'), request.platform)
564
+
565
+ background_tasks.add_task(
566
+ simulate_views_background,
567
  url=request.url,
568
  platform=request.platform,
569
  count=request.count,
 
571
  parallel_processes=request.parallel_processes,
572
  session=session
573
  )
574
+
575
+ return PlainTextResponse("Views simulation started in the background.")
576
 
577
  except Exception as e:
578
  return PlainTextResponse(str(e), status_code=500)