From 7e6ddaf0d6a92cfa3be7426a0359a94f6b7dcef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 22 Jun 2015 12:59:39 +0200 Subject: [PATCH] Plugins can now have a folder for plugin related data Path can be queried from settings. --- src/octoprint/plugin/__init__.py | 11 +++++++++++ src/octoprint/settings.py | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/octoprint/plugin/__init__.py b/src/octoprint/plugin/__init__.py index 4dde566f..ce7224b3 100644 --- a/src/octoprint/plugin/__init__.py +++ b/src/octoprint/plugin/__init__.py @@ -426,6 +426,17 @@ class PluginSettings(object): filename += ".log" return os.path.join(self.settings.getBaseFolder("logs"), filename) + def get_plugin_data_folder(self): + """ + Retrieves the path to a data folder specifically for the plugin. + + Plugins may use this for storing additional data. + """ + path = os.path.join(self.settings.getBaseFolder("data"), self.plugin_key) + if not os.path.isdir(path): + os.makedirs(path) + return path + def __getattr__(self, item): all_access_methods = self.access_methods.keys() + self.deprecated_access_methods.keys() if item in all_access_methods: diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index f4b2cf09..15ca4df9 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -156,7 +156,8 @@ default_settings = { "printerProfiles": None, "scripts": None, "translations": None, - "generated": None + "generated": None, + "data": None }, "temperature": { "profiles": [