From 27eb0d2164ce1709a6c3cdcd3a3775162dd9a059 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 10:45:08 +0100 Subject: [PATCH 01/12] bugfix to make hcls work --- jamftf/importer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jamftf/importer.py b/jamftf/importer.py index 072937a..0e925a7 100644 --- a/jamftf/importer.py +++ b/jamftf/importer.py @@ -57,7 +57,7 @@ def HCLs(self): """generates hcl as a string""" out = "" hcld = self.HCLd() - for i in hcld.items(): + for i in hcld.values(): out += i + "\n" return out From 054b0e5e8704f93f28987a984d05de4a5eb645c3 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 11:05:39 +0100 Subject: [PATCH 02/12] amended a default value --- jamftf/resources.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jamftf/resources.py b/jamftf/resources.py index 53d1273..c32624c 100644 --- a/jamftf/resources.py +++ b/jamftf/resources.py @@ -23,7 +23,7 @@ def __init__( validate: bool = True, client: jamfpy.JamfTenant = None, debug: bool = False, - exclude: list[int] = list + exclude: list[int] = [] ): self._validate_resource_type() From 9cdbb2f555eb347c20722123acd6386836a227dd Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 11:07:09 +0100 Subject: [PATCH 03/12] testing --- jamftf/options.py | 2 +- jamftf/resources.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jamftf/options.py b/jamftf/options.py index 2e53aca..f1bdac7 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -42,7 +42,7 @@ def __init__( opts: dict, validate: bool, logger: Logger, - exclude_ids: list[int] = [] + exclude_ids: list[int] = None ): self.opts = opts diff --git a/jamftf/resources.py b/jamftf/resources.py index c32624c..af9a5ad 100644 --- a/jamftf/resources.py +++ b/jamftf/resources.py @@ -23,7 +23,7 @@ def __init__( validate: bool = True, client: jamfpy.JamfTenant = None, debug: bool = False, - exclude: list[int] = [] + exclude: list[int] = None ): self._validate_resource_type() From 111d782f7a8305e09fb98ee8a83a3e6ff0748db9 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 11:59:20 +0100 Subject: [PATCH 04/12] type hinting --- jamftf/options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jamftf/options.py b/jamftf/options.py index f1bdac7..87fa17c 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -42,7 +42,7 @@ def __init__( opts: dict, validate: bool, logger: Logger, - exclude_ids: list[int] = None + exclude_ids: list[int] | None = None ): self.opts = opts From af7906f91be8342452c376d13ffee5b6632b1b2e Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 12:01:07 +0100 Subject: [PATCH 05/12] adding debug prints --- jamftf/options.py | 1 + 1 file changed, 1 insertion(+) diff --git a/jamftf/options.py b/jamftf/options.py index 87fa17c..b922a49 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -95,6 +95,7 @@ def _validation(self, data): def _exclude_ids(self, data: dict) -> dict: """removes any IDs from the data which have been specifid to be excluded""" self.lg.debug("excluding ids... %s", self.exclude_ids) + print("HERE") to_delete = [] for i in data: From 3d1b35c41ee3d20a712d33bc67bfbfb223b569e5 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 12:04:29 +0100 Subject: [PATCH 06/12] more debug --- jamftf/options.py | 1 + 1 file changed, 1 insertion(+) diff --git a/jamftf/options.py b/jamftf/options.py index b922a49..ceb6664 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -96,6 +96,7 @@ def _exclude_ids(self, data: dict) -> dict: """removes any IDs from the data which have been specifid to be excluded""" self.lg.debug("excluding ids... %s", self.exclude_ids) print("HERE") + print(self.lg) to_delete = [] for i in data: From 584e8506d5216951afe51b9b5eadf8d0a8b4d2f9 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 12:10:35 +0100 Subject: [PATCH 07/12] debugging --- jamftf/options.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jamftf/options.py b/jamftf/options.py index ceb6664..a36f6ed 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -95,8 +95,7 @@ def _validation(self, data): def _exclude_ids(self, data: dict) -> dict: """removes any IDs from the data which have been specifid to be excluded""" self.lg.debug("excluding ids... %s", self.exclude_ids) - print("HERE") - print(self.lg) + print(self.lg.debug("HERE")) to_delete = [] for i in data: From dba4e9f6c00e9ebf0e7573064383221601e452f7 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 12:14:07 +0100 Subject: [PATCH 08/12] debugging --- jamftf/options.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jamftf/options.py b/jamftf/options.py index a36f6ed..356dc04 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -51,6 +51,8 @@ def __init__( self.lg = logger self.exclude_ids = exclude_ids + logger.debug("HERE HERE") + def apply(self, data: dict): """applies options to supplied data""" @@ -95,7 +97,6 @@ def _validation(self, data): def _exclude_ids(self, data: dict) -> dict: """removes any IDs from the data which have been specifid to be excluded""" self.lg.debug("excluding ids... %s", self.exclude_ids) - print(self.lg.debug("HERE")) to_delete = [] for i in data: From e27ddd6d35ba68115df63a8071bcf007cad4b189 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 12:16:12 +0100 Subject: [PATCH 09/12] debugging --- jamftf/options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jamftf/options.py b/jamftf/options.py index 356dc04..83198cd 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -51,7 +51,7 @@ def __init__( self.lg = logger self.exclude_ids = exclude_ids - logger.debug("HERE HERE") + self.lg.debug("HERE HERE") def apply(self, data: dict): From e68cc4b828caf46b0fe2fb986e365ae08530196b Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 15:03:07 +0100 Subject: [PATCH 10/12] all options logs set to info --- jamftf/options.py | 24 +++++++++++++----------- modupdate.sh | 11 +++++++++++ 2 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 modupdate.sh diff --git a/jamftf/options.py b/jamftf/options.py index 83198cd..4dd67cc 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -19,6 +19,7 @@ def options(self): """returns options from self""" return self.out + def add(self, key, value): """allows method bound addition of options""" if key not in VALID_RESOURCE_CONFIG_KEYS: @@ -26,6 +27,7 @@ def add(self, key, value): self.out[key] = value + def from_json(self, data: dict): """generates options from dict""" self.out = data @@ -51,7 +53,7 @@ def __init__( self.lg = logger self.exclude_ids = exclude_ids - self.lg.debug("HERE HERE") + self.lg.info("HERE HERE") def apply(self, data: dict): @@ -67,10 +69,10 @@ def apply(self, data: dict): if o in REQUIRED_RESOURCE_CONFIG_KEYS: continue - self.lg.debug(f"handling {o}...") + self.lg.info(f"handling {o}...") if self.opts[o]: - self.lg.debug(f"{o} flagged to be set") + self.lg.info(f"{o} flagged to be set") data = options_master[o](data) @@ -88,7 +90,7 @@ def apply(self, data: dict): def _validation(self, data): """_validation is a parent func for running data validation functions""" - self.lg.debug("validating data...") + self.lg.info("validating data...") self._check_illegal_chars(data) self._check_duplicates(data) @@ -96,23 +98,23 @@ def _validation(self, data): def _exclude_ids(self, data: dict) -> dict: """removes any IDs from the data which have been specifid to be excluded""" - self.lg.debug("excluding ids... %s", self.exclude_ids) + self.lg.info("excluding ids... %s", self.exclude_ids) to_delete = [] for i in data: - self.lg.debug("checking %s", i) + self.lg.info("checking %s", i) res_id = int(data[i]["id"]) if res_id in self.exclude_ids: - self.lg.debug(f"{res_id} marked for deletion") + self.lg.info(f"{res_id} marked for deletion") to_delete.append(i) - self.lg.debug("deleting excluded records") + self.lg.info("deleting excluded records") for i in to_delete: del data[i] @@ -121,7 +123,7 @@ def _exclude_ids(self, data: dict) -> dict: def _use_resource_type_as_name(self, data: dict) -> dict: """change the names of all resources held in data to resource_name.XX""" - self.lg.debug("amending resource names...") + self.lg.info("amending resource names...") counter = 0 for i in data: @@ -133,7 +135,7 @@ def _use_resource_type_as_name(self, data: dict) -> dict: def _check_illegal_chars(self, data: dict): """sweeps resource names for chars invalid in HCL""" - self.lg.debug(f"checking for illegal chars: {ILLEGAL_NAME_CHARS}") + self.lg.info(f"checking for illegal chars: {ILLEGAL_NAME_CHARS}") for i in data.values(): for c in i["name"]: @@ -143,7 +145,7 @@ def _check_illegal_chars(self, data: dict): def _check_duplicates(self, data: dict): """iterates through all resource names ensuring no duplicates""" - self.lg.debug("checking for duplicates") + self.lg.info("checking for duplicates") keys = {} diff --git a/modupdate.sh b/modupdate.sh new file mode 100644 index 0000000..431b8ad --- /dev/null +++ b/modupdate.sh @@ -0,0 +1,11 @@ +jamfpy_target_version=dev + +######## +jamfpy_url="https://github.com/thejoeker12/jamfpy" + +jamfpy_pip_target="git+$jamfpy_url@$jamfpy_target_version" + +# pip uninstall jamfpy --no-input + +# JAMF PY +pip install --no-cache-dir --upgrade --force-reinstall $jamfpy_pip_target \ No newline at end of file From 08224b9a13bf4b70a35d477909217ea175ac7edf Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 15:06:46 +0100 Subject: [PATCH 11/12] added applicator to log override --- jamftf/options.py | 14 ++++++-------- jamftf/resources.py | 4 ++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/jamftf/options.py b/jamftf/options.py index 4dd67cc..74bd130 100644 --- a/jamftf/options.py +++ b/jamftf/options.py @@ -53,8 +53,6 @@ def __init__( self.lg = logger self.exclude_ids = exclude_ids - self.lg.info("HERE HERE") - def apply(self, data: dict): """applies options to supplied data""" @@ -69,14 +67,14 @@ def apply(self, data: dict): if o in REQUIRED_RESOURCE_CONFIG_KEYS: continue - self.lg.info(f"handling {o}...") + self.lg.debug(f"handling {o}...") if self.opts[o]: - self.lg.info(f"{o} flagged to be set") + self.lg.debug(f"{o} flagged to be set") data = options_master[o](data) - self.lg.info(f"{o} set for {self.resource_type}") + self.lg.debug(f"{o} set for {self.resource_type}") if self.exclude_ids: data = self._exclude_ids(data) @@ -103,18 +101,18 @@ def _exclude_ids(self, data: dict) -> dict: to_delete = [] for i in data: - self.lg.info("checking %s", i) + self.lg.debug("checking %s", i) res_id = int(data[i]["id"]) if res_id in self.exclude_ids: - self.lg.info(f"{res_id} marked for deletion") + self.lg.debug(f"{res_id} marked for deletion") to_delete.append(i) - self.lg.info("deleting excluded records") + self.lg.debug("deleting excluded records") for i in to_delete: del data[i] diff --git a/jamftf/resources.py b/jamftf/resources.py index af9a5ad..eb98de1 100644 --- a/jamftf/resources.py +++ b/jamftf/resources.py @@ -123,6 +123,10 @@ def set_debug(self, debug: bool): for i in self.lg.handlers: i.setLevel(level) + self.applicator.lg.setLevel(level) + for i in self.applicator.lg.handlers: + i.setLevel(level) + self.lg.info("log level has been overridden to: %s", self.lg.level) From d1093d9504f352fc65a61a4cf33795a30971b5c8 Mon Sep 17 00:00:00 2001 From: Joseph Little Date: Fri, 6 Sep 2024 15:08:48 +0100 Subject: [PATCH 12/12] a comment --- jamftf/resources.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jamftf/resources.py b/jamftf/resources.py index eb98de1..e0933e4 100644 --- a/jamftf/resources.py +++ b/jamftf/resources.py @@ -116,7 +116,7 @@ def _get(self): # Public def set_debug(self, debug: bool): - """overrides log level to debug for all handlers""" + """overrides log level to debug for all handlers, including the applicator""" level = self._init_log_level(debug) self.lg.setLevel(level)