def recursive(args): c = fetch_config(args) render_for_console(included_recusively(conf=c))
def include_file_data(conf): inc_path = os.path.join(conf.paths.includes) include_file_list = expand_tree(path=inc_path, input_extension=None) include_graph = include_files(conf=conf) recursive_use = included_recusively(conf, include_graph) generated = generated_includes(conf) omni = {} for idx, fn in enumerate(include_file_list): incf = fn[len(conf.paths.source):] if fn.endswith('~'): continue for prefix in suppressed_page_prefixes: if incf.startswith(prefix): break else: omni[incf] = { 'id': idx, 'name': os.path.splitext(incf)[0], 'path': incf, } if incf in generated: omni[incf]['generated'] = True else: omni[incf]['generated'] = False if incf in recursive_use: omni[incf]['recursive'] = True else: omni[incf]['recursive'] = False if incf in include_graph: omni[incf]['num_clients'] = len(include_graph[incf]) omni[incf]['clients'] = [] for cl in include_graph[incf]: cl, ext = os.path.splitext(cl) if ext == 'yaml': continue if (cl.startswith('/includes/generated/overview') or cl.startswith('/includes/manpage-')): continue omni[incf]['clients'].append(cl) if len(omni[incf]['clients']) == 0: omni[incf]['yaml_only'] = True else: omni[incf]['yaml_only'] = False else: omni[incf]['clients'] = dict() omni[incf]['num_clients'] = 0 with open(fn, 'r') as f: omni[incf]['content'] = [ ln.rstrip() for ln in f.readlines() ] return omni