From a7d687ecb3a1bd60ddb8841101105e4ac2320910 Mon Sep 17 00:00:00 2001 From: RaSan147 <34002411+RaSan147@users.noreply.github.com> Date: Sat, 4 Mar 2023 22:20:34 +0600 Subject: [PATCH] added --password -k command line arg --- ...al_server 2.py => local_server_pyrobox.py} | 12 +++- ...l_server.py => local_server_standalone.py} | 0 dev_src/pyroboxCore.py | 68 ++++++++++++------- 3 files changed, 55 insertions(+), 25 deletions(-) rename dev_src/{local_server 2.py => local_server_pyrobox.py} (99%) rename dev_src/{local_server.py => local_server_standalone.py} (100%) diff --git a/dev_src/local_server 2.py b/dev_src/local_server_pyrobox.py similarity index 99% rename from dev_src/local_server 2.py rename to dev_src/local_server_pyrobox.py index e2bc8ff..d863bcc 100644 --- a/dev_src/local_server 2.py +++ b/dev_src/local_server_pyrobox.py @@ -37,6 +37,16 @@ true = T = True false = F = False + +config.parser.add_argument('--password', '-k', + default=config.PASSWORD, + type=str, + help='Upload Password (default: %(default)s)') + + +args = config.parser.parse_known_args()[0] +config.PASSWORD = args.password + config.disabled_func.update({ "send2trash": False, "natsort": False, @@ -866,7 +876,7 @@ def fetch_url(url, file = None): with open(file, 'wb') as f: f.write(data) - return True + return data except Exception: traceback.print_exc() return None diff --git a/dev_src/local_server.py b/dev_src/local_server_standalone.py similarity index 100% rename from dev_src/local_server.py rename to dev_src/local_server_standalone.py diff --git a/dev_src/pyroboxCore.py b/dev_src/pyroboxCore.py index bb1934f..84ce9d0 100644 --- a/dev_src/pyroboxCore.py +++ b/dev_src/pyroboxCore.py @@ -12,6 +12,9 @@ from queue import Queue from typing import Union +import argparse + + logging.basicConfig(level=logging.DEBUG, format='%(levelname)s: %(message)s') logger = logging.getLogger(__name__) @@ -81,6 +84,10 @@ def __init__(self): # ASSET MAPPING self.file_list = {} + # COMMANDLINE ARGUMENTS PARSER + self.parser = argparse.ArgumentParser(add_help=False) + + def clear_temp(self): for i in self.temp_file: try: @@ -107,6 +114,42 @@ def get_default_dir(self): def address(self): return "http://%s:%i"%(self.IP, self.port) + + def parse_default_args(self, port = None, directory = None, bind = None, ): + if port is None: + port = self.port + if directory is None: + directory = self.ftp_dir + if bind is None: + bind = None + + parser = self.parser + + parser.add_argument('--bind', '-b', + metavar='ADDRESS', default=bind, + help='Specify alternate bind address ' + '[default: all interfaces]') + parser.add_argument('--directory', '-d', default=directory, + help='Specify alternative directory ' + '[default: current directory]') + parser.add_argument('port', action='store', + default=port, type=int, + nargs='?', + help='Specify alternate port [default: 8000]') + parser.add_argument('--version', '-v', action='version', + version=__version__) + + self.parser.add_argument('-h', '--help', action='help', + default='==SUPPRESS==', + help=('show this help message and exit')) + + args = parser.parse_known_args()[0] + + return args + + + + @@ -1631,32 +1674,9 @@ def finish_request(self, request, client_address): def run(port = None, directory = None, bind = None, arg_parse= True, handler = SimpleHTTPRequestHandler): - if port is None: - port = config.port - if directory is None: - directory = config.ftp_dir if arg_parse: - import argparse - - - - parser = argparse.ArgumentParser() - - parser.add_argument('--bind', '-b', metavar='ADDRESS', - help='Specify alternate bind address ' - '[default: all interfaces]') - parser.add_argument('--directory', '-d', default=directory, - help='Specify alternative directory ' - '[default:current directory]') - parser.add_argument('port', action='store', - default=port, type=int, - nargs='?', - help='Specify alternate port [default: 8000]') - parser.add_argument('--version', '-v', action='version', - version=__version__) - - args = parser.parse_args() + args = config.parse_default_args(port=port, directory=directory, bind=bind) port = args.port directory = args.directory