diff --git a/pirate-get.py b/pirate-get.py index 370f5b9..1da5fd2 100755 --- a/pirate-get.py +++ b/pirate-get.py @@ -5,11 +5,14 @@ import webbrowser import urllib import urllib2 import re -import os +import ConfigParser, os +import string +import random from HTMLParser import HTMLParser import argparse from pprint import pprint + class NoRedirection(urllib2.HTTPErrorProcessor): def http_response(self, request, response): @@ -47,6 +50,18 @@ class MyHTMLParser(HTMLParser): def main(): + + + config = ConfigParser.ConfigParser() + + # defaults + config.add_section('SaveToFile') + config.set('SaveToFile', 'enabled', False) + config.set('SaveToFile', 'directory', '~/Dropbox/pirate-get/') + + # load user settings + config.read([os.path.expanduser('~/.config/pirate-get/pirate.cfg')]) + parser = argparse.ArgumentParser(description='Finds and downloads torrents from the Pirate Bay') parser.add_argument('q', metavar='search_term', help="The term to search for") parser.add_argument('-t',dest='transmission',action='store_true', help="call transmission-remote to start the download", default=False) @@ -218,15 +233,29 @@ def main(): except Exception: choices = () - for choice in choices: - choice = int(choice) - url = mags[choice][0] - print(url) - if args.transmission: - os.system("""transmission-remote --add "%s" """ % (url)) - os.system("transmission-remote -l") - else: - webbrowser.open(url) + if config.get('SaveToFile', 'enabled'): + + fileName = os.path.expanduser(config.get('SaveToFile', 'directory')) + id_generator() + '.magnet' + print ("Saving to File: " + fileName) + f = open(fileName, 'w') + for choice in choices: + choice = int(choice) + url = mags[choice][0] + f.write(url + '\n') + + f.close() + + else: + if args.transmission: + os.system("""transmission-remote --add "%s" """ % (url)) + os.system("transmission-remote -l") + else: + webbrowser.open(url) + + + +def id_generator(size=6, chars=string.ascii_uppercase + string.digits): + return ''.join(random.choice(chars) for _ in range(size)) if __name__ == "__main__": main()