예제 #1
0
 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)
예제 #2
0
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)
예제 #3
0
 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()
예제 #4
0
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
예제 #5
0
def progress_browser_factory(args):
    return Browser(args, '')