Exemple #1
0
def try_to_extend_link(link):
	parser = find_parser(link)
	if parser:
		x = parse_pattern(link)
		if x:
			links = parser(x[0])
			import lixian_filter_expr
			return lixian_filter_expr.filter_expr(links, x[1])
		else:
			return parser(link)
def try_to_extend_link(link):
    parser = find_parser(link)
    if parser:
        x = parse_pattern(link)
        if x:
            links = parser(x[0])
            import lixian_filter_expr
            return lixian_filter_expr.filter_expr(links, x[1])
        else:
            return parser(link)
def sub_id_processor(base, x):
	x = lixian_encoding.from_native(x)

	m = re.match(r'^(\d+)/(.+)$', x)
	if not m:
		return
	task_id, sub_id = m.groups()
	task = base.find_task_by_id(task_id)
	if not task:
		return

	assert task['type'] == 'bt', 'task %s is not a bt task' % lixian_encoding.to_native(task['name'])
	files = base.get_files(task)
	import lixian_filter_expr
	files = lixian_filter_expr.filter_expr(files, sub_id)
	subs = [x for x in files]
	return SubTaskQuery(base, task, subs)