def __init__()

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)