X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Cura%2Futil%2FpluginInfo.py;h=9005388882e2fb5272790388c2b920a87777f8b6;hb=refs%2Fheads%2Ffor%2Faleph-objects;hp=7fad6f58e839a9c891eb411e975ea52d534fe49a;hpb=be72c9ccd6157845f2b358cbca6a241aa172210b;p=cura.git diff --git a/Cura/util/pluginInfo.py b/Cura/util/pluginInfo.py index 7fad6f58..90053888 100644 --- a/Cura/util/pluginInfo.py +++ b/Cura/util/pluginInfo.py @@ -10,6 +10,7 @@ import traceback import platform import re import tempfile +import ConfigParser import cPickle as pickle from Cura.util import profile @@ -52,6 +53,27 @@ class pluginInfo(object): # else: # print "Unknown item in plugin meta data: %s %s" % (line[0], line[1]) + self._readSettings(os.path.join(profile.getBasePath())) + for plugindir in getPluginBasePaths(): + self._readSettings(plugindir) + + def _readSettings(self, indir): + settings_file = os.path.join(indir, 'plugin_defaults.ini') + plugin_basename = re.sub(r'\.pyc?','',os.path.basename(self._filename)) + if not os.path.exists(settings_file): + return + cfg = ConfigParser.ConfigParser() + try: + cfg.read(settings_file) + except: + traceback.print_exc() + if not cfg.has_section(plugin_basename): + return + for param in self._params: + name = param['name'] + if cfg.has_option(plugin_basename, name): + param['default'] = cfg.get(plugin_basename, name) + def getFilename(self): return self._filename