in src/externals.py [0:0]
def __init__(self, build_mode, external_spec):
self.build_mode = build_mode
print("Detected external: ", external_spec)
self.external_base: str = external_spec['base']
self.external_path: str = external_spec['path']
self.external_nav: str = external_spec['nav']
self.external_repo: str = external_spec['repo']
self.external_branch: str = external_spec['branch']
self.inline: bool = bool(external_spec['inline'] or 'False') if 'inline' in external_spec else False
self.wrap_code_snippets: bool = bool(external_spec['wrap_code_snippets'] or 'False') if 'wrap_code_snippets' in external_spec else False
if self.external_base.startswith("/docs/reference/"):
self.page_type: str = 'doc'
self.page_layout: str = 'reference'
elif self.external_base.startswith("/docs/tutorials/"):
self.page_type: str = 'tutorial'
self.page_layout: str = 'tutorial'
else:
raise Exception("Unknown external path %s in %s" % (self.external_path, self.external_base))
assert_valid_git_hub_url(self.external_repo, 'EXTERNAL MODULE: %s' % self.external_path)
self.target_external_path = path.join(root_folder, 'pages', self.external_base.lstrip("/"))
self.source_external_path = path.join(root_folder, 'external', self.external_path.lstrip("/"))
# assuming external folder contains only sub repositories
self.source_checkout_root = path.join(root_folder, 'external', self.external_path.split("/")[0])
self.nav_file = path.join(self.source_external_path, self.external_nav.lstrip("/"))
self.replacements = _parse_replacements(external_spec, self.external_nav)
self.explicit_github_edit_page = external_spec['github_edit_page'] if 'github_edit_page' in external_spec else None
print("External repo: ", self.external_repo)
print("External nav file: ", self.nav_file)
print("External source dir: ", self.source_external_path)
print("External target dir: ", self.target_external_path)