summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xfirstaidkit14
-rw-r--r--pyfirstaidkit/plugins.py10
2 files changed, 12 insertions, 12 deletions
diff --git a/firstaidkit b/firstaidkit
index 723c640..e25c1f7 100755
--- a/firstaidkit
+++ b/firstaidkit
@@ -16,7 +16,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-import sys, getopt, os, pprint, logging, re
+import sys, getopt, os, pprint, logging, re, hashlib
from threading import Thread
from pyfirstaidkit import Tasker
from pyfirstaidkit import Config
@@ -228,15 +228,9 @@ if __name__=="__main__":
Config.operation.dependencies = "False"
elif key in ("--plugin-args"):
- m = re.search("[^ ]* ", val)
- if m:
- plugin = m.group(0).strip()
- args = val.strip("%s "%plugin)
- if plugin and args:
- if not Config.has_section("plugin-args"):
- Config.add_section("plugin-args")
- Config.set("plugin-args", plugin, args)
-
+ if not Config.has_section("plugin-args"):
+ Config.add_section("plugin-args")
+ Config.set("plugin-args", hashlib.sha1(val).hexdigest(), val)
if Flags.main_help:
usage(sys.argv[0])
diff --git a/pyfirstaidkit/plugins.py b/pyfirstaidkit/plugins.py
index e373322..3dda77c 100644
--- a/pyfirstaidkit/plugins.py
+++ b/pyfirstaidkit/plugins.py
@@ -27,6 +27,7 @@ import logging
import imp
import os
+import re
import subprocess
from cStringIO import StringIO
@@ -602,8 +603,13 @@ class PluginSystem(object):
return False
args = None
- if Config.has_option("plugin-args", pklass.name):
- args = Config.get("plugin-args", pklass.name)
+ if Config.has_section("plugin-args"):
+ for (name, value) in Config.items("plugin-args"):
+ # We see if the args line begins with any plugin name.
+ m = re.search("^%s"%plugin, value)
+ if m:
+ args = value.strip(plugin).strip(" ")
+ break
infosection = getattr(Info, plugin)
infosection.unlock()