diff options
| -rwxr-xr-x | pyLoadCli.py | 120 | ||||
| -rw-r--r-- | pyLoadCore.py | 40 | 
2 files changed, 118 insertions, 42 deletions
| diff --git a/pyLoadCli.py b/pyLoadCli.py index 1d7a05155..69f7b22ab 100755 --- a/pyLoadCli.py +++ b/pyLoadCli.py @@ -17,13 +17,16 @@  # along with this program; if not, see <http://www.gnu.org/licenses/>.  #  ### +from getopt import GetoptError +from getopt import getopt +import gettext  import os  import os.path -import gettext  from os.path import abspath  from os.path import dirname  from os.path import join  import sys +from sys import exit  import threading  import time  from time import sleep @@ -430,6 +433,29 @@ def mag(string):  def white(string):      return "\033[1;37m" + string + "\033[0m" +def print_help(): +    print "" +    print "pyloadCli Copyright (c) 2008-2010 the pyLoad Team" +    print "" +    print "Usage: [python] pyLoadCli.py [options] [server url]" +    print "" +    print "<server url>" +    print "The server url has this format: http://username:passwort@adress:port" +    print "" +    print "<Options>" +    print "  -l, --local", " " * 6, "Use the local settings in config file" +    print "  -u, --username=<username>" +    print " " * 20, "Specify username" +    print "" +    print "  -a, --address=<adress>" +    print " " * 20, "Specify adress (default=127.0.0.1)" +    print "" +    print "  -p, --port", " " * 7, "Specify port (default=7272)" +    print "  -s, --ssl", " " * 8, "Enable ssl (default=off)" +    print "  -h, --help", " " * 7, "Display this help screen" +    print "" + +  if __name__ == "__main__":      xmlconfig = XMLConfigParser(join(abspath(dirname(__file__)), "module", "config", "core.xml")) @@ -438,40 +464,70 @@ if __name__ == "__main__":      translation = gettext.translation("pyLoadCli", join(abspath(dirname(__file__)), "locale"), languages=[config['general']['language']])      translation.install(unicode=(True if sys.stdout.encoding.lower().startswith("utf") else False)) +    server_url = "" +    username = "" +    password = "" +    addr = "" +    port = "" +    ssl = None +      if len(sys.argv) > 1: -         -        shortOptions = 'l' -        longOptions = ['local'] -        opts, extraparams = __import__("getopt").getopt(sys.argv[1:], shortOptions, longOptions) -        for option, params in opts: -            if option in ("-l", "--local"): -                              -                ssl = "" -                if config['ssl']['activated']: -                    ssl = "s" - -                server_url = "http%s://%s:%s@%s:%s/" % ( -                                                        ssl, -                                                        config['remote']['username'], -                                                        config['remote']['password'], -                                                        config['remote']['listenaddr'], -                                                        config['remote']['port'] -                                                        ) + +        addr = "127.0.0.1" +        port = "7272" +        ssl = "" + +        shortOptions = 'lu:a:p:s:h' +        longOptions = ['local', "username=", "adress=", "port=", "ssl=", "help"] + +        try: +            opts, extraparams = getopt(sys.argv[1:], shortOptions, longOptions) +            for option, params in opts: +                if option in ("-l", "--local"): + +                    if config['ssl']['activated']: +                        ssl = "s" + +                    username = config['remote']['username'] +                    password = config['remote']['password'] +                    addr = config['remote']['listenaddr'] +                    port = config['remote']['port'] +                if option in ("-u", "--username"): +                    username = params +                if option in ("-a", "--adress"): +                    addr = params +                if option in ("-p", "--port"): +                    port = params +                if option in ("-s", "--ssl"): +                    if params.lower() == "true": +                        ssl = "s" +                if option in ("-h", "--help"): +                    print_help() +                    exit() +        except GetoptError: +            print 'Unknown Argument(s) "%s"' % " ".join(sys.argv[1:]) +            print_help() +            exit() +          if len(extraparams) == 1:              server_url = sys.argv[1] -    else: -        username = raw_input(_("Username: ")) -        address = raw_input(_("Adress: ")) -        ssl = raw_input(_("Use SSL? ([y]/n): ")) -        if ssl == "y" or ssl == "": -            ssl = "s" -        else: -            ssl = "" -        port = raw_input(_("Port: ")) -        from getpass import getpass -        password = getpass(_("Password: ")) -         -        server_url = "http%s://%s:%s@%s:%s/" % (ssl, username, password, address, port) + +    if not server_url: +        if not username: username = raw_input(_("Username: ")) +        if not addr: addr = raw_input(_("Adress: ")) +        if ssl == None: +            ssl = raw_input(_("Use SSL? ([y]/n): ")) +            if ssl == "y" or ssl == "": +                ssl = "s" +            else: +                ssl = "" +        if not port: port = raw_input(_("Port: ")) +        if not password: +            from getpass import getpass +            password = getpass(_("Password: ")) + +        server_url = "http%s://%s:%s@%s:%s/" % (ssl, username, password, addr, port) +      #print server_url      cli = pyLoadCli(server_url) diff --git a/pyLoadCore.py b/pyLoadCore.py index 9501631f8..7bd42c906 100644 --- a/pyLoadCore.py +++ b/pyLoadCore.py @@ -22,6 +22,7 @@  """  CURRENT_VERSION = '0.3.2' +from getopt import GetoptError  from getopt import getopt  import gettext  from glob import glob @@ -42,10 +43,10 @@ from os.path import isabs  from os.path import join  from re import sub  import subprocess +import sys  from sys import argv  from sys import executable  from sys import exit -import sys  from sys import path  from sys import stdout  from sys import version_info @@ -73,21 +74,40 @@ class Core(object):          self.arg_links = []          if len(argv) > 1:              try: -                options, arguments = getopt(argv[1:], 'vcl:d') +                options, args = getopt(argv[1:], 'vca:hd', ["version", "clear", "add=", "help", "debug"])                  for option, argument in options: -                    if option == "-v": +                    if option in ("-v", "--version"):                          print "pyLoad", CURRENT_VERSION                          exit() -                    elif option == "-c": +                    elif option in ("-c", "--clear"):                          remove(join("module", "links.pkl"))                          print "Removed Linklist" -                    elif option == "-l": +                    elif option in ("-a", "--add"):                          self.arg_links.append(argument)                          print "Added %s" % argument -                    elif option == "-d": +                    elif option in ("-h", "--help"): +                        self.print_help() +                        exit() +                    elif option in ("-d", "--debug"):                          self.doDebug = True -            except: +            except GetoptError:                  print 'Unknown Argument(s) "%s"' % " ".join(argv[1:]) +                self.print_help() +                exit() + +    def print_help(self): +        print "" +        print "pyload %s  Copyright (c) 2008-2010 the pyLoad Team" % CURRENT_VERSION +        print "" +        print "Usage: [python] pyLoadCore.py [options]" +        print "" +        print "<Options>" +        print "  -v, --version", " " * 4, "Print version to terminal" +        print "  -c, --clear", " " * 6, "Delete the saved linklist" +        print "  -a, --add=<list>", " " * 1, "Add the specified links" +        print "  -d, --debug", " " * 6, "Enable debug mode" +        print "  -h, --help", " " * 7, "Display this help screen" +        print ""      def toggle_pause(self):          if self.thread_list.pause: @@ -354,7 +374,7 @@ class Core(object):      def check_update(self):          try:              if self.config['updates']['search_updates']: -                version_check = Request().load("http://get.pyload.org/check/%s/" % (CURRENT_VERSION, )) +                version_check = Request().load("http://get.pyload.org/check/%s/" % (CURRENT_VERSION,))                  if version_check == "":                      self.logger.info(_("No Updates for pyLoad"))                      return False @@ -372,9 +392,9 @@ class Core(object):          try:              if self.config['updates']['search_updates']:                  if self.core.config['updates']['install_updates']: -                    version_check = Request().load("http://get.pyload.org/get/update/%s/" % (CURRENT_VERSION, )) +                    version_check = Request().load("http://get.pyload.org/get/update/%s/" % (CURRENT_VERSION,))                  else: -                    version_check = Request().load("http://get.pyload.org/check/%s/" % (CURRENT_VERSION, )) +                    version_check = Request().load("http://get.pyload.org/check/%s/" % (CURRENT_VERSION,))                  if version_check == "":                      return False                  else: | 
