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
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)