mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Move looping over script directories to separate function
Removes some code repetition.
This commit is contained in:
parent
9d63258703
commit
14936fdf21
1 changed files with 22 additions and 29 deletions
|
@ -114,10 +114,29 @@ class PostProcessingPlugin(QObject, Extension):
|
||||||
self.selectedIndexChanged.emit() # Ensure that settings are updated
|
self.selectedIndexChanged.emit() # Ensure that settings are updated
|
||||||
self._propertyChanged()
|
self._propertyChanged()
|
||||||
|
|
||||||
|
## Load all scripts from all paths where scripts can be found.
|
||||||
|
#
|
||||||
|
# This should probably only be done on init, but it can be used to update
|
||||||
|
# the scripts list from files just as well.
|
||||||
|
def loadAllScripts(self):
|
||||||
|
#The PostProcessingPlugin path is for built-in scripts.
|
||||||
|
#The Resources path is where the user should store custom scripts.
|
||||||
|
#The Preferences path is legacy, where the user may previously have stored scripts.
|
||||||
|
for root in [PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), Resources.getStoragePath(Resources.Resources), Resources.getStoragePath(Resources.Preferences)]:
|
||||||
|
path = os.path.join(root, "scripts")
|
||||||
|
if not os.path.isdir(path):
|
||||||
|
try:
|
||||||
|
os.makedirs(path)
|
||||||
|
except OSError:
|
||||||
|
Logger.log("w", "Unable to create a folder for scripts: " + path)
|
||||||
|
continue
|
||||||
|
|
||||||
|
self.loadScripts(path)
|
||||||
|
|
||||||
## Load all scripts from provided path.
|
## Load all scripts from provided path.
|
||||||
# This should probably only be done on init.
|
# This should probably only be done on init.
|
||||||
# \param path Path to check for scripts.
|
# \param path Path to check for scripts.
|
||||||
def loadAllScripts(self, path):
|
def loadScripts(self, path):
|
||||||
if self._loaded_scripts: #Already loaded.
|
if self._loaded_scripts: #Already loaded.
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -178,20 +197,7 @@ class PostProcessingPlugin(QObject, Extension):
|
||||||
## When the global container stack is changed, swap out the list of active
|
## When the global container stack is changed, swap out the list of active
|
||||||
# scripts.
|
# scripts.
|
||||||
def _onGlobalContainerStackChanged(self):
|
def _onGlobalContainerStackChanged(self):
|
||||||
## Load all scripts in the scripts folders
|
self.loadAllScripts()
|
||||||
# The PostProcessingPlugin path is for built-in scripts.
|
|
||||||
# The Resources path is where the user should store custom scripts.
|
|
||||||
# The Preferences path is legacy, where the user may previously have stored scripts.
|
|
||||||
for root in [PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), Resources.getStoragePath(Resources.Resources), Resources.getStoragePath(Resources.Preferences)]:
|
|
||||||
path = os.path.join(root, "scripts")
|
|
||||||
if not os.path.isdir(path):
|
|
||||||
try:
|
|
||||||
os.makedirs(path)
|
|
||||||
except OSError:
|
|
||||||
Logger.log("w", "Unable to create a folder for scripts: " + path)
|
|
||||||
continue
|
|
||||||
|
|
||||||
self.loadAllScripts(path)
|
|
||||||
new_stack = Application.getInstance().getGlobalContainerStack()
|
new_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
self._script_list.clear()
|
self._script_list.clear()
|
||||||
if not new_stack.getMetaDataEntry("post_processing_scripts"): #Missing or empty.
|
if not new_stack.getMetaDataEntry("post_processing_scripts"): #Missing or empty.
|
||||||
|
@ -248,20 +254,7 @@ class PostProcessingPlugin(QObject, Extension):
|
||||||
def _createView(self):
|
def _createView(self):
|
||||||
Logger.log("d", "Creating post processing plugin view.")
|
Logger.log("d", "Creating post processing plugin view.")
|
||||||
|
|
||||||
## Load all scripts in the scripts folders
|
self.loadAllScripts()
|
||||||
# The PostProcessingPlugin path is for built-in scripts.
|
|
||||||
# The Resources path is where the user should store custom scripts.
|
|
||||||
# The Preferences path is legacy, where the user may previously have stored scripts.
|
|
||||||
for root in [PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), Resources.getStoragePath(Resources.Resources), Resources.getStoragePath(Resources.Preferences)]:
|
|
||||||
path = os.path.join(root, "scripts")
|
|
||||||
if not os.path.isdir(path):
|
|
||||||
try:
|
|
||||||
os.makedirs(path)
|
|
||||||
except OSError:
|
|
||||||
Logger.log("w", "Unable to create a folder for scripts: " + path)
|
|
||||||
continue
|
|
||||||
|
|
||||||
self.loadAllScripts(path)
|
|
||||||
|
|
||||||
# Create the plugin dialog component
|
# Create the plugin dialog component
|
||||||
path = os.path.join(PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), "PostProcessingPlugin.qml")
|
path = os.path.join(PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), "PostProcessingPlugin.qml")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue