From dedffe35141e54bd6918ea2cb963d867debd4c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Fri, 19 Aug 2016 11:39:25 +0200 Subject: [PATCH] Allow tracking if printer profiles where modified Needed for a first time setup wizard to configure default printer profile. --- src/octoprint/printer/profile.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/octoprint/printer/profile.py b/src/octoprint/printer/profile.py index 1c92626f..aec77a14 100644 --- a/src/octoprint/printer/profile.py +++ b/src/octoprint/printer/profile.py @@ -216,7 +216,7 @@ class PrinterProfileManager(object): profile["id"] = identifier profile = dict_sanitize(profile, self.__class__.default) - if identifier == "_default": + if identifier == self.__class__.default["id"]: default_profile = dict_merge(self._load_default(), profile) if not self._ensure_valid_profile(default_profile): raise InvalidProfileError() @@ -233,6 +233,15 @@ class PrinterProfileManager(object): self.select(identifier) return self.get(identifier) + def is_default_unmodified(self): + default = settings().get(["printerProfiles", "default"]) + default_overrides = settings().get(["printerProfiles", "defaultProfile"]) + return (default is None or default == self.__class__.default["id"]) and not default_overrides + + @property + def profile_count(self): + return len(self._load_all_identifiers()) + def get_default(self): default = settings().get(["printerProfiles", "default"]) if default is not None and self.exists(default):