diff options
author | Martin Sivak <msivak@redhat.com> | 2010-09-07 14:57:14 +0200 |
---|---|---|
committer | Martin Sivak <msivak@redhat.com> | 2010-09-07 14:57:14 +0200 |
commit | b6a8761af9a3e8ae547cf12992192931b95f0861 (patch) | |
tree | b91604ae00cdfbf953511902a8ff8c051568698e /pyfirstaidkit | |
parent | 1d4ec7084f6368c16a1f81f29c869012f2c271c8 (diff) | |
download | firstaidkit-b6a8761af9a3e8ae547cf12992192931b95f0861.tar.gz firstaidkit-b6a8761af9a3e8ae547cf12992192931b95f0861.tar.xz firstaidkit-b6a8761af9a3e8ae547cf12992192931b95f0861.zip |
Changes to FAK Gui and Info object
- Gui allows to save results in info object
- Info object allows attaching files and saving as .zip archive
Diffstat (limited to 'pyfirstaidkit')
-rw-r--r-- | pyfirstaidkit/__init__.py | 2 | ||||
-rw-r--r-- | pyfirstaidkit/configuration.py | 22 | ||||
-rw-r--r-- | pyfirstaidkit/plugins.py | 2 |
3 files changed, 22 insertions, 4 deletions
diff --git a/pyfirstaidkit/__init__.py b/pyfirstaidkit/__init__.py index 874f57c..6bfe5ad 100644 --- a/pyfirstaidkit/__init__.py +++ b/pyfirstaidkit/__init__.py @@ -16,7 +16,7 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. from interpret import Tasker -from configuration import Config +from configuration import Config, Info import logging import sys diff --git a/pyfirstaidkit/configuration.py b/pyfirstaidkit/configuration.py index a4cedf1..fc534fb 100644 --- a/pyfirstaidkit/configuration.py +++ b/pyfirstaidkit/configuration.py @@ -20,6 +20,7 @@ import os import sys from cStringIO import StringIO from shlex import shlex +import zipfile if os.environ.has_key("FIRST_AID_KIT_CONF"): cfgfile = os.environ["FIRST_AID_KIT_CONF"].split(":") @@ -95,6 +96,9 @@ class FAKConfigSection(object): def unlock(self): self.__dict__["__use_lock"] = False + def attach(self, file): + self.__dict__["__configuration"].attach(file) + def __getattr__(self, key): if not self.__dict__["__configuration"]. \ has_section(self.__dict__["__section_name"]) and \ @@ -179,13 +183,27 @@ def getConfigBits(name, cfg = Config): return c class FAKInfo(ConfigParser.SafeConfigParser, FAKConfigMixIn): + def __init__(self, *args, **kwargs): + ConfigParser.SafeConfigParser.__init__(self, *args, **kwargs) + FAKConfigMixIn.__init__(self) + self._attachments = [] + def write(self, fd=sys.stdout): fd.write("--- Info section ---\n") ConfigParser.SafeConfigParser.write(self, fd) fd.write("--------------------\n") - pass + def dump(self, filename): + fd = zipfile.ZipFile(filename, "w", zipfile.ZIP_DEFLATED) + temp = StringIO() + ConfigParser.SafeConfigParser.write(self, temp) + fd.writestr("results.ini", temp.getvalue()) + for f in self._attachments: + fd.write(f) + fd.close() + + def attach(self, file): + self._attachments.append(file) Info = FAKInfo() Info.lock() - diff --git a/pyfirstaidkit/plugins.py b/pyfirstaidkit/plugins.py index 5b95dfa..b104953 100644 --- a/pyfirstaidkit/plugins.py +++ b/pyfirstaidkit/plugins.py @@ -283,7 +283,7 @@ class Plugin(object): message = func+" raised "+str(e)) self._reporting.stop(level = TASK, origin = self, message = func) - if self._interpret._config.system.debug: + if Config.system.debug: raise return (self._state, self._result) |