Example #1
0
def _keepRunning(scriptName, popen):
    counter = 0
    retcode = popen.poll()
    while retcode is None:
        yield "%s\n" % counter
        time.sleep(1)
        counter += 1
        retcode = popen.poll()

    if retcode != 0:
        logging.error("Script %r finished with: %s", scriptName, retcode)
    else:
        logging.info("Script %r finished OK", scriptName)
        # preload the cache
        report.fetchCachedReport();
    yield "finish: %s\n" % retcode
Example #2
0
def filteredAnalyses(web, limit=None):
    analyses = report.fetchCachedReport()
    if limit is None:
        limit = len(analyses)

    params = parseFilter(web)
    rules = []
    for name in FILTERS:
        if name not in params:
            continue
        value = params[name]

        op = None
        if name == "days":
            op = operator.ge
            value = _getStrDateBeforeDays(value)
            propertyName = "createdDate"
        elif name == "loc" and value > 0:
            propertyName = "locality"
            op = lambda x, container: locality.NAME_TO_CHOICE_MAPPING.get(x, x) in container
            value = frozenset(_getLocalities(value))
        else:
            if name.startswith("max"):
                propertyName = _detitle(name[3:])
                op = operator.le
            elif name.startswith("min"):
                propertyName = _detitle(name[3:])
                op = operator.ge
            else:
                propertyName = name
                op = operator.eq

        rules.append((propertyName, op, value))

    return _filterAnalyses(analyses, rules, limit)