def get_nav(): global _nav_cache global _nav_lock with _nav_lock: if _nav_cache is not None: nav = _nav_cache else: nav = get_nav_impl() nav = copy.deepcopy(nav) if build_mode: _nav_cache = copy.deepcopy(nav) # NOTE. This call depends on `request.path`, cannot cache process_nav(request.path, nav) return nav
def get_nav(): with open(path.join(data_folder, "_nav.yml"), encoding="UTF-8") as stream: return process_nav(yaml.load(stream))
def get_nav_impl(): with open(path.join(data_folder, "_nav.yml")) as stream: nav = yaml.load(stream) process_nav_includes(build_mode, nav) process_nav(nav) return nav
def get_nav(): with open(path.join(data_folder, "_nav.yml")) as stream: return process_nav(yaml.load(stream))