################################################################################ # Author: Poka (poka@p2p.legal) # Version: 0.0.1 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) # Git: https://git.p2p.legal/axiom-team/astroport ################################################################################ import requests import json import sys import subprocess import login import time # Load scraper from yggcrawl import YggTorrentScraper scraper = YggTorrentScraper(requests.session()) from yggtorrentscraper import set_yggtorrent_tld set_yggtorrent_tld("se") name = ' '.join(sys.argv[1:]) # Give paramaters to scraper parameters = { "name": name, "category": "films_&_videos", "subcategory": "film", "sort": "seed", "order": "desc" } # Execute scrapping research = scraper.search(parameters) # Check if not found if research == []: print("Aucun torrent trouvé ayant pour nom \"" + name + "\"") sys.exit() # Options #most_completed = scraper.most_completed() #print(json.dumps(research, sort_keys=True, indent=4)) #print(json.dumps(most_completed, sort_keys=True, indent=4)) # Download torrent file if(scraper.login(login.user, login.passwd)): print("Login success") first_torrent = research[0] scraper.download_from_torrent_url(first_torrent) else: print("Login failed") # Remove tracker print("Start to remove tracker ...") time.sleep(1) ID = subprocess.Popen(["./trans-ctl.sh -l | grep -vE 'Sum:|ID Done' | tail -n1 | awk '{ print $1 }'"], shell=True, executable="/bin/bash", stdout=subprocess.PIPE).communicate()[0].strip().decode('ascii') print("Wait 10 seconds to get peers before remove tracker...") time.sleep(10) subprocess.call(["./trans-ctl.sh", "rmtracker", ID]) print("Done")