def load_content(loader, ctx: common.Context) -> common.Result:
""" Load & filter content """
start = time.time()
# load list of parts
result = loader.load()
if ctx.debug:
ctx.log_debug("loaded: %s", result)
result.debug['loaded_duration'] = time.time() - start
fltr_start = time.time()
result.debug['items_loaded'] = len(result.items)
result.debug['filters_status'] = {}
# apply filters
for fltcfg in ctx.input_conf.get('filters') or []:
flt = filters.get_filter(fltcfg, ctx)
if not flt:
ctx.log_error("missing filter: %s", fltcfg)
continue
result = flt.filter(result)
if ctx.debug:
ctx.log_debug("filtered by %s: %s", flt, pprint.saferepr(result))
result.debug['filters_status'][flt.name] = len(result.items)
if ctx.args.debug:
result.meta['filter_duration'] = time.time() - fltr_start
result.debug['items_filterd'] = len(result.items)
result.meta['update_duration'] = time.time() - start
result.meta['update_date'] = time.time()
if not result.title:
result.title = ctx.name
if ctx.debug:
ctx.log_debug("result: %s", result)
return result
# @tc.typecheck
评论列表
文章目录