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)
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"])
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)