コード例 #1
0
def __capture_tags_for_configs(cids,
                               pathbuilder,
                               configs,
                               tagsizes=settings.DEFAULT.tagsizes,
                               tagtypes=settings.DEFAULT.tagtypes,
                               capture_existing=False):
    all_tags = placelocal.get_tags_for_campaigns(cids=cids)
    if not all_tags:
        LOGGER.warn("No tags found to capture!")
        return

    LOGGER.info("Capturing tags for %s campaigns over %s configs", len(cids),
                len(configs))
    # TODO: Implement progress bar
    errors = []
    pool = ThreadPool(processes=MAX_REMOTE_JOBS)
    results = {}

    all_configs = settings.DEFAULT.all_configs
    for config_name in configs:
        config_data = all_configs[config_name]
        if not config_data['enabled']:
            LOGGER.debug("Skipping disabled config %s" % config_name)
            continue

        pathbuilder.config = config_name
        capabilities = config_data['capabilities']
        capabilities['name'] = config_name
        capabilities['build'] = "tagcompare_" + pathbuilder.build
        capabilities['maxDuration'] = 3 * 60 * 60  # 3h max duration

        cpb = pathbuilder.clone()
        results[config_name] = pool.apply_async(func=__capture_tags,
                                                args=(capabilities, all_tags,
                                                      cpb, tagsizes, tagtypes,
                                                      capture_existing))
    for config_name in results:
        errors += results[config_name].get()
    if errors:
        LOGGER.error("%s found console errors:\n%s", pathbuilder.build, errors)
    return errors
コード例 #2
0
ファイル: capture.py プロジェクト: andrewgu/tagcompare
def __capture_tags_for_configs(cids, pathbuilder,
                               configs,
                               tagsizes=settings.DEFAULT.tagsizes,
                               tagtypes=settings.DEFAULT.tagtypes,
                               capture_existing=False):
    all_tags = placelocal.get_tags_for_campaigns(cids=cids)
    if not all_tags:
        LOGGER.warn("No tags found to capture!")
        return

    LOGGER.info("Capturing tags for %s campaigns over %s configs", len(cids),
                len(configs))
    # TODO: Implement progress bar
    errors = []
    pool = ThreadPool(processes=MAX_REMOTE_JOBS)
    results = {}

    all_configs = settings.DEFAULT.all_configs
    for config_name in configs:
        config_data = all_configs[config_name]
        if not config_data['enabled']:
            LOGGER.debug("Skipping disabled config %s" % config_name)
            continue

        pathbuilder.config = config_name
        capabilities = config_data['capabilities']
        capabilities['name'] = config_name
        capabilities['build'] = "tagcompare_" + pathbuilder.build
        capabilities['maxDuration'] = 3 * 60 * 60  # 3h max duration

        cpb = pathbuilder.clone()
        results[config_name] = pool.apply_async(func=__capture_tags,
                                                args=(capabilities, all_tags, cpb,
                                                      tagsizes, tagtypes,
                                                      capture_existing))
    for config_name in results:
        errors += results[config_name].get()
    if errors:
        LOGGER.error("%s found console errors:\n%s", pathbuilder.build, errors)
    return errors
コード例 #3
0
ファイル: capture.py プロジェクト: bitglue/tagcompare
def capture_tags_for_all_configs(cids, pathbuilder):
    all_tags, num_tags = placelocal.get_tags_for_campaigns(cids=cids)
    if not all_tags:
        LOGGER.warn("No tags found to capture!")
        return

    LOGGER.info(
        "Capturing {} tags for {} campaigns".format(num_tags, len(cids)))

    # Use remote browsers
    all_configs = settings.DEFAULT.configs
    config_names = settings.DEFAULT.configs_in_comparison()
    for config in config_names:
        config_data = all_configs[config]
        if not config_data['enabled']:
            LOGGER.debug("Skipping disabled config %s" % config)
            continue

        capabilities = config_data['capabilities']
        pathbuilder.config = config
        __capture_tags(capabilities, all_tags, pathbuilder,
                       capture_existing=False)