diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2014-12-09 11:10:24 -0600 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2015-02-18 08:24:24 -0600 |
commit | 89e7afbf74ffbbb54dd892bf2c4245aedee2a832 (patch) | |
tree | ed4623b5c6e39d80c132e9f21f3d4804cabd93be /src/lib/Bcfg2/Server/Plugins/Packages | |
parent | 64b458b380620f84843b1841b441745a0984946f (diff) | |
download | bcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.tar.gz bcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.tar.bz2 bcfg2-89e7afbf74ffbbb54dd892bf2c4245aedee2a832.zip |
Remove blanket excepts from plugins and lint
This removes most blanket except: clauses from all plugins, including
the base plugin libraries, and bcfg2-lint. The few that remain should
all be necessary.
Most of the changes were quite minor, but this did require some
restructuring of the CfgPrivateKeyCreator; as a result, the tests for
that module were rewritten.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Apt.py | 2 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Pac.py | 2 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py | 2 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Source.py | 18 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 8 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py | 4 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | 4 |
7 files changed, 19 insertions, 21 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py index cfabd8457..7de79e2f3 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py @@ -89,7 +89,7 @@ class AptSource(Source): bprov[barch] = dict() try: reader = gzip.GzipFile(fname) - except: + except IOError: self.logger.error("Packages: Failed to read file %s" % fname) raise for line in reader.readlines(): diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py b/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py index 5f4d2ea41..0e15d2e15 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Pac.py @@ -67,7 +67,7 @@ class PacSource(Source): try: self.debug_log("Packages: try to read %s" % fname) tar = tarfile.open(fname, "r") - except: + except (IOError, tarfile.TarError): self.logger.error("Packages: Failed to read file %s" % fname) raise diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py b/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py index e393cabfe..736cdcdd4 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Pkgng.py @@ -71,7 +71,7 @@ class PkgngSource(Source): try: tar = tarfile.open(fileobj=lzma.LZMAFile(fname)) reader = tar.extractfile('packagesite.yaml') - except: + except (IOError, tarfile.TarError): self.logger.error("Packages: Failed to read file %s" % fname) raise for line in reader.readlines(): diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py index 67ada2399..c9f6ea14a 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py @@ -331,10 +331,11 @@ class Source(Debuggable): # pylint: disable=R0902 @track_statistics() def setup_data(self, force_update=False): - """ Perform all data fetching and setup tasks. For most - backends, this involves downloading all metadata from the - repository, parsing it, and caching the parsed data locally. - The order of operations is: + """Perform all data fetching and setup tasks. + + For most backends, this involves downloading all metadata from + the repository, parsing it, and caching the parsed data + locally. The order of operations is: #. Call :func:`load_state` to try to load data from the local cache. @@ -352,6 +353,15 @@ class Source(Debuggable): # pylint: disable=R0902 upstream repository. :type force_update: bool """ + # there are a bunch of wildcard except statements here, + # because the various functions called herein (``load_state``, + # ``read_files``, ``update``) are defined entirely by the + # Packages plugins that implement them. + # + # TODO: we should define an exception subclass that each of + # these functions can raise when an *expected* error condition + # is encountered. + # # pylint: disable=W0702 if not force_update: if os.path.exists(self.cachefile): diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index b6e9f13eb..dbe3f9ce5 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -631,10 +631,6 @@ class YumCollection(Collection): err = sys.exc_info()[1] self.logger.error("Packages: Could not contact Pulp server: %s" % err) - except: - err = sys.exc_info()[1] - self.logger.error("Packages: Unknown error querying Pulp server: " - "%s" % err) return consumer @track_statistics() @@ -1034,10 +1030,6 @@ class YumSource(Source): err = sys.exc_info()[1] raise SourceInitError("Could not contact Pulp server: %s" % err) - except: - err = sys.exc_info()[1] - raise SourceInitError("Unknown error querying Pulp server: %s" - % err) self.rawurl = "%s/%s" % (PULPCONFIG.cds['baseurl'], self.repo['relative_path']) self.arches = [self.repo['arch']] diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py b/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py index f26d6ba18..b2e43bde7 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/YumHelper.py @@ -285,8 +285,8 @@ class HelperSubcommand(Bcfg2.Options.Subcommand): def run(self, setup): try: data = json.loads(sys.stdin.read()) - except: # pylint: disable=W0702 - self.logger.error("Unexpected error decoding JSON input: %s" % + except ValueError: + self.logger.error("Error decoding JSON input: %s" % sys.exc_info()[1]) print(json.dumps(self.fallback)) return 2 diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py index 87d42fd1c..3aa5c415f 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py @@ -515,10 +515,6 @@ class Packages(Bcfg2.Server.Plugin.Plugin, err = sys.exc_info()[1] self.logger.error("Packages: Error writing %s to %s: " "%s" % (key, localfile, err)) - except: - err = sys.exc_info()[1] - self.logger.error("Packages: Unknown error fetching " - "%s: %s" % (key, err)) for kfile in glob.glob(os.path.join(self.keypath, "*")): if kfile not in keyfiles: |