def __init__(self, args): """Construct object and save forwarded arguments.""" verbose_to_log = { 0: logging.CRITICAL, 1: logging.ERROR, 2: logging.WARN, 3: logging.INFO, 4: logging.DEBUG } logging_level = logging.DEBUG if args.verbose > 4 else verbose_to_log[args.verbose] log.setLevel(logging_level) log.debug("args: %s" % args) self.args = args config = ConfigParser() config_entries = config.read(self.args.config_path) self.whitelist = [i.strip() for i in args.whitelist.split(',')] if config_entries: self.whitelist += [i.strip() for i in config.get(self.args.product, 'whitelist').split(',')] else: log.info("No configuration file '{}' for whitelist, only using optionally specified command line whitelist".format(self.args.config_path)) log.debug(CONFIG_USAGE) # does not look so nice, can be improved. Removing empty string entries. self.whitelist = [i for i in self.whitelist if i] log.info("Whitelist content for %s: %s" % (self.args.product, self.whitelist)) self.release_info_path = os.path.join(self.args.dest, self.args.release_file) self.browser = Browser(args, args.openqa_host)
def generate_report(args): verbose_to_log = { 0: logging.CRITICAL, 1: logging.ERROR, 2: logging.WARN, 3: logging.INFO, 4: logging.DEBUG } logging_level = logging.DEBUG if args.verbose > 4 else verbose_to_log[ args.verbose] log.setLevel(logging_level) log.debug("args: %s" % args) args.output_state_results = True if args.verbose > 1 else args.output_state_results if args.job_group_urls: root_url = urljoin('/'.join(args.job_group_urls.split("/")[0:3]), '/') else: root_url = urljoin(args.host, '/') browser = Browser(args, root_url) job_groups = get_job_groups(browser, root_url, args) assert not (args.builds and len(job_groups) > 1 ), "builds option and multiple job groups not supported" assert len( job_groups ) > 0, "No job groups were found, maybe misspecified '--job-groups'?" return Report(browser, args, root_url, job_groups)
def __init__(self, args): """Construct object and save forwarded arguments.""" verbose_to_log = {0: logging.CRITICAL, 1: logging.ERROR, 2: logging.WARN, 3: logging.INFO, 4: logging.DEBUG} logging_level = logging.DEBUG if args.verbose > 4 else verbose_to_log[args.verbose] log.setLevel(logging_level) log.debug("args: %s" % args) self.args = args config = ConfigParser() config_entries = config.read(self.args.config_path) self.whitelist = [i.strip() for i in args.whitelist.split(",")] if config_entries: self.whitelist += [i.strip() for i in config.get(self.args.product, "whitelist").split(",")] else: log.info( "No configuration file '{}' for whitelist, only using optionally specified command line whitelist".format( self.args.config_path ) ) log.debug(CONFIG_USAGE) # does not look so nice, can be improved. Removing empty string entries. self.whitelist = [i for i in self.whitelist if i] log.info("Whitelist content for %s: %s" % (self.args.product, self.whitelist)) self.release_info_path = os.path.join(self.args.dest, self.args.release_file) self.browser = Browser(args, args.openqa_host) if not config.has_section("notification"): return self.credentials = pika.PlainCredentials( config.get("notification", "username", fallback="guest"), config.get("notification", "password", fallback="guest"), ) self.notify_host = config.get("notification", "host", fallback="kazhua.suse.de") self.notify_connect()
def bugzilla_browser_factory(args): b = Browser( args, config.get('product_issues', 'base_url') % { "username": config.get('product_issues', 'username'), "password": config.get('product_issues', 'password'), }) return b
def progress_browser_factory(args): return Browser(args, '')