コード例 #1
0
ファイル: cli.py プロジェクト: tmichett/ansible-docgen
    def run(self):
        """ EntryPoint Of Application """
        # Parse Project for Roles and Playbooks
        self.dirparser = DirParser(self.project)

        # Based on chosen style, use the associated formatter
        parserdata = self.dirparser.get_parserdata()
        
        paths = self.dirparser.get_paths()
        if self.style == "markdown":
            self.formatter = Formatter('markdown', parserdata, paths,\
                                        self.project, self.params)
            self.formatter.parse_data()
            self.formatter.write_files()
        else:
            print("Error: Use of an unsupported style.\
                The supported styles are: markdown")
            sys.exit(1)
コード例 #2
0
    def test_parserdata(self):
        localdir = os.path.dirname(os.path.realpath(__file__))
        projectunit = os.path.join(localdir, "../integration/projectunit")
        dirparser = DirParser(projectunit)
        parserdata = dirparser.get_parserdata()

        # Check for expected attributes in sourcedata
        assert ("playbooks" in parserdata)
        for folder_content, sourcedata in parserdata["playbooks"].items():
            assert ("name" in sourcedata[0])
            assert ("relative_path" in sourcedata[0])
        assert ("roles" in parserdata)
        for folder_content, sourcedata in parserdata["roles"].items():
            assert ("name" in sourcedata[0])
            assert ("relative_path" in sourcedata[0])
        assert ("host_vars" in parserdata)
        for hostname, contents in parserdata["host_vars"].items():
            assert ("host_1" in hostname)
            assert ("position" in contents)
            assert ("relative_path" in contents["position"])
コード例 #3
0
    def run(self):
        """ Entry Point Of Application """
        # Make sure there is a trailing /
        project = os.path.join(self.options.project, "")

        # Parse Project for Roles and Playbooks
        self.dirparser = DirParser(project)

        # Based on chosen style, use the associated formatter
        if self.options.style == "markup":
            self.formatter = FormatterMarkup(self.dirparser.get_parserdata(),
                                             project)
            self.formatter.parse_data()
            self.formatter.write_files()
        else:
            print("Error: Use of an unsupported style.\
                The supported styles are: markup")
            sys.exit(1)

        sys.exit(0)