From bab0487f4528fd4e3e435b2e77869be0796e27ed Mon Sep 17 00:00:00 2001 From: Robin Schneider Date: Fri, 5 Aug 2016 21:53:34 +0200 Subject: [PATCH 1/5] Quick and dirty fix to properly support Ansible 2.0 roles. Put your `ansigenome_info` into `meta/ansigenome.yml` and enjoy. --- ansigenome/scan.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ansigenome/scan.py b/ansigenome/scan.py index 5f6b719..cfaac42 100644 --- a/ansigenome/scan.py +++ b/ansigenome/scan.py @@ -108,6 +108,11 @@ def scan_roles(self): self.paths["role"] = os.path.join(self.roles_path, key) self.paths["meta"] = os.path.join(self.paths["role"], "meta", "main.yml") + self.paths["ansigenome"] = os.path.join( + self.paths["role"], + "meta", + "ansigenome.yml" + ) self.paths["readme"] = os.path.join(self.paths["role"], "README.{0}" .format(self.readme_format)) @@ -119,14 +124,14 @@ def scan_roles(self): # we are writing a readme file which means the state of the role # needs to be updated before it gets output by the ui if self.gendoc: - if self.valid_meta(key): + if self.read_and_valid_meta(key): self.make_meta_dict_consistent() self.set_readme_template_vars(key, value) self.write_readme(key) # only load the meta file when generating meta files elif self.genmeta: self.make_or_augment_meta(key) - if self.valid_meta(key): + if self.read_and_valid_meta(key): self.make_meta_dict_consistent() self.write_meta(key) else: @@ -336,12 +341,15 @@ def tally_role_columns(self): totals["files"] = sum(roles[item]["total_files"] for item in roles) totals["lines"] = sum(roles[item]["total_lines"] for item in roles) - def valid_meta(self, role): + def read_and_valid_meta(self, role): """ - Return whether or not the meta file being read is valid. + Read the meta files and return whether or not the meta file being read + is valid. """ if os.path.exists(self.paths["meta"]): self.meta_dict = utils.yaml_load(self.paths["meta"]) + if os.path.exists(self.paths["ansigenome"]): + self.meta_dict['ansigenome_info'] = utils.yaml_load(self.paths["ansigenome"])['ansigenome_info'] else: self.report["state"]["missing_meta_role"] += 1 self.report["roles"][role]["state"] = "missing_meta" From 2831a65af88765e38ecb9fde50506ffe9deed002 Mon Sep 17 00:00:00 2001 From: dr1s Date: Sun, 18 Nov 2018 18:52:43 +0700 Subject: [PATCH 2/5] Don't add ansigenome_info to meta file --- ansigenome/scan.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ansigenome/scan.py b/ansigenome/scan.py index cfaac42..92d42a7 100644 --- a/ansigenome/scan.py +++ b/ansigenome/scan.py @@ -428,10 +428,7 @@ def augment_main_keys(self, keys, file): for key in keys: if key[0] not in nfile: - if key[0] == "ansigenome_info": - # make sure ansigenome_info is always on the bottom - nfile = nfile + "\n{0}".format(ansigenome_block) - else: + if key[0] != "ansigenome_info": nfile = "\n{0}: {1}\n\n".format(key[0], key[1]) + nfile return nfile From d9732c7847b6b0d283d28db20a11ca414c12dcf3 Mon Sep 17 00:00:00 2001 From: dr1s Date: Sun, 18 Nov 2018 20:14:47 +0700 Subject: [PATCH 3/5] Change initial meta file template and generate initial ansigenome.yml form split template --- ansigenome/constants.py | 6 +++++- ansigenome/scan.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ansigenome/constants.py b/ansigenome/constants.py index 27f502f..8d1ad43 100644 --- a/ansigenome/constants.py +++ b/ansigenome/constants.py @@ -124,6 +124,10 @@ - jessie categories: [%categories] +""" + +DEFAULT_AG_FILE = """--- + ansigenome_info: galaxy_id: '' @@ -137,8 +141,8 @@ #custom: | # Any custom output you want after the usage section... -""" +""" LOG_COLOR = { "ok": "green", diff --git a/ansigenome/scan.py b/ansigenome/scan.py index 92d42a7..3605886 100644 --- a/ansigenome/scan.py +++ b/ansigenome/scan.py @@ -371,6 +371,7 @@ def make_or_augment_meta(self, role): """ if not os.path.exists(self.paths["meta"]): utils.create_meta_main(self.paths["meta"], self.config, role, "") + utils.string_to_file(self.paths['ansigenome'], c.DEFAULT_AG_FILE) self.report["state"]["ok_role"] += 1 self.report["roles"][role]["state"] = "ok" From 50a07e72c642c62f2fc6c4af60b0ddb28737b395 Mon Sep 17 00:00:00 2001 From: dr1s Date: Sun, 18 Nov 2018 20:34:59 +0700 Subject: [PATCH 4/5] Check if ansigenome.yml exists --- ansigenome/scan.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ansigenome/scan.py b/ansigenome/scan.py index 3605886..4895c42 100644 --- a/ansigenome/scan.py +++ b/ansigenome/scan.py @@ -371,10 +371,12 @@ def make_or_augment_meta(self, role): """ if not os.path.exists(self.paths["meta"]): utils.create_meta_main(self.paths["meta"], self.config, role, "") - utils.string_to_file(self.paths['ansigenome'], c.DEFAULT_AG_FILE) self.report["state"]["ok_role"] += 1 self.report["roles"][role]["state"] = "ok" + if not os.path.exists(self.paths["ansigenome"]): + utils.string_to_file(self.paths['ansigenome'], c.DEFAULT_AG_FILE) + # swap values in place to use the config values swaps = [ ("author", self.config["author_name"]), From b1e757ecf66c69fd6a85475d29ef3ed9553d6c58 Mon Sep 17 00:00:00 2001 From: dr1s Date: Sun, 18 Nov 2018 22:04:52 +0700 Subject: [PATCH 5/5] Replace %role_name in ansigenome.yml --- ansigenome/scan.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ansigenome/scan.py b/ansigenome/scan.py index 4895c42..6eed909 100644 --- a/ansigenome/scan.py +++ b/ansigenome/scan.py @@ -375,6 +375,8 @@ def make_or_augment_meta(self, role): self.report["roles"][role]["state"] = "ok" if not os.path.exists(self.paths["ansigenome"]): + ag_meta_file = c.DEFAULT_AG_FILE + ag_meta_file = meta_file.replace("%role_name", role) utils.string_to_file(self.paths['ansigenome'], c.DEFAULT_AG_FILE) # swap values in place to use the config values