def cli(self): """ Handle the argument parse, and the return the instance itself. """ # parser the argv self.options = self.parser() # setup the logging config if self.options.verbose is True: verbose_formatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=verbose_formatter) else: formatter = '%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=formatter) # check credentials file try: abs_credentials_path = os.path.abspath(self.options.credentials) logger.info('Load Credentials from {}'.format(abs_credentials_path)) credentials = Credentials.from_file(abs_credentials_path) self.connection_options = {'credentials': credentials} except Exception as e: logger.warning('No credentials. Run with "--help" for more information.') logger.debug(e) # assign the variable self.entry_namespace = self.options.namespace self.dest_dir = self.options.dest_dir return self
def cli(self): """ Handle the argument parse, and the return the instance itself. """ # parser the argv options = self.parser() self.is_verbose = options.verbose # assign the variable self.entry_namespace = options.namespace self.origin_dest_dir = options.dest_dir self.dest_dir = options.dest_dir # setup the logging config self._configure_login() # check credentials file try: abs_credentials_path = os.path.abspath(options.credentials) logger.debug("Load Credentials from {}".format(abs_credentials_path)) credentials = Credentials.from_file(abs_credentials_path) self.connection_options = {"credentials": credentials} except Exception as e: logger.warning('No credentials. Run with "--help" for more information.') logger.debug(e) return self
def cli(self): """ This method will parse the argument for CLI. """ # argument parser taskcluster_credentials = 'tc_credentials.json' parser = argparse.ArgumentParser(prog='taskcluster_download', description='The simple download tool for Taskcluster.', formatter_class=RawTextHelpFormatter, epilog=textwrap.dedent('''\ The tc_credentials.json Template: { "clientId": "", "accessToken": "" } ''')) parser.add_argument('--credentials', action='store', default=taskcluster_credentials, dest='credentials', help='The credential JSON file (default: {})'.format(taskcluster_credentials)) task_group = parser.add_mutually_exclusive_group(required=True) task_group.add_argument('-n', '--namespace', action='store', dest='namespace', help='The namespace of task') task_group.add_argument('-t', '--taskid', action='store', dest='task_id', help='The taskId of task') artifact_group = parser.add_argument_group('Download Artifact', 'The artifact name and dest folder') artifact_group.add_argument('-a', '--artifact', action='store', dest='aritfact_name', help='The artifact name on Taskcluster') artifact_group.add_argument('-d', '--dest-dir', action='store', dest='dest_dir', help='The dest folder (default: current working folder)') parser.add_argument('-v', '--verbose', action='store_true', dest='verbose', default=False, help='Turn on verbose output, with all the debug logger.') # parser the argv options = parser.parse_args(sys.argv[1:]) # setup the logging config if options.verbose is True: verbose_formatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=verbose_formatter) else: formatter = '%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=formatter) # check credentials file try: abs_credentials_path = os.path.abspath(options.credentials) credentials = Credentials.from_file(abs_credentials_path) self.connection_options = {'credentials': credentials} except Exception as e: logger.warning('No connection options.') logger.debug(e) # assign the variable self.namespace = options.namespace self.task_id = options.task_id self.aritfact_name = options.aritfact_name self.dest_dir = options.dest_dir return self
def _check_crendentials_file(self, options): try: abs_credentials_path = os.path.abspath(options.credentials) credentials = Credentials.from_file(abs_credentials_path) self.connection_options = {'credentials': credentials} logger.info('Load Credentials from {}'.format(abs_credentials_path)) except Exception as e: if os.path.isfile(abs_credentials_path): logger.error('Please check your credentials file: {}'.format(abs_credentials_path)) raise e else: logger.warning('No credentials. Run with "--help" for more information.') logger.debug(e)
def cli(self): """ Handle the argument parse, and the return the instance itself. """ # argument parser taskcluster_credentials = 'tc_credentials.json' parser = argparse.ArgumentParser(prog='taskcluster_traverse', description='The simple GUI traverse and download tool for Taskcluster.', formatter_class=RawTextHelpFormatter, epilog=textwrap.dedent('''\ The tc_credentials.json Template: { "clientId": "", "accessToken": "" } ''')) parser.add_argument('--credentials', action='store', default=taskcluster_credentials, dest='credentials', help='The credential JSON file (default: {})'.format(taskcluster_credentials)) parser.add_argument('-n', '--namespace', action='store', dest='namespace', default='', help='The namespace of task') parser.add_argument('-d', '--dest-dir', action='store', dest='dest_dir', help='The dest folder (default: current working folder)') parser.add_argument('-v', '--verbose', action='store_true', dest='verbose', default=False, help='Turn on verbose output, with all the debug logger.') # parser the argv options = parser.parse_args(sys.argv[1:]) # setup the logging config if options.verbose is True: verbose_formatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=verbose_formatter) else: formatter = '%(levelname)s: %(message)s' logging.basicConfig(level=logging.INFO, format=formatter) # check credentials file try: abs_credentials_path = os.path.abspath(options.credentials) credentials = Credentials.from_file(abs_credentials_path) self.connection_options = {'credentials': credentials} except Exception as e: logger.warning('No connection options.') logger.debug(e) # assign the variable self.entry_namespace = options.namespace self.dest_dir = options.dest_dir return self