From 3b3ecb4fcba471d33dbd118c02798e6f3f4b9927 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 25 Sep 2012 15:49:25 -0400 Subject: various pylint fixes --- src/lib/Bcfg2/Client/Tools/IPS.py | 2 - src/lib/Bcfg2/Client/Tools/VCS.py | 2 - src/lib/Bcfg2/Client/XML.py | 2 +- src/lib/Bcfg2/Compat.py | 2 +- src/lib/Bcfg2/Proxy.py | 1 - src/lib/Bcfg2/Server/Admin/Snapshots.py | 2 +- src/lib/Bcfg2/Server/CherryPyCore.py | 2 +- src/lib/Bcfg2/Server/Core.py | 2 +- src/lib/Bcfg2/Server/FileMonitor/Fam.py | 2 +- src/lib/Bcfg2/Server/FileMonitor/Gamin.py | 2 - src/lib/Bcfg2/Server/FileMonitor/Inotify.py | 2 +- src/lib/Bcfg2/Server/Plugins/Bzr.py | 2 - src/lib/Bcfg2/Server/Plugins/DBStats.py | 5 +- src/lib/Bcfg2/Server/Plugins/Git.py | 2 +- src/lib/Bcfg2/Server/Plugins/Guppy.py | 3 +- src/lib/Bcfg2/Server/Plugins/Ldap.py | 11 ++- src/lib/Bcfg2/Server/Plugins/NagiosGen.py | 100 +++++++-------------- src/lib/Bcfg2/Server/Plugins/Ohai.py | 2 - src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 4 +- src/lib/Bcfg2/Server/Plugins/Probes.py | 2 - src/lib/Bcfg2/Server/Plugins/PuppetENC.py | 2 - src/lib/Bcfg2/Server/Plugins/Svn2.py | 2 - .../reports/templatetags/syntax_coloring.py | 5 +- 23 files changed, 51 insertions(+), 110 deletions(-) (limited to 'src/lib') diff --git a/src/lib/Bcfg2/Client/Tools/IPS.py b/src/lib/Bcfg2/Client/Tools/IPS.py index 730f4c2d9..e30bbd2a4 100644 --- a/src/lib/Bcfg2/Client/Tools/IPS.py +++ b/src/lib/Bcfg2/Client/Tools/IPS.py @@ -1,9 +1,7 @@ """This is the Bcfg2 support for OpenSolaris packages.""" -# pylint: disable=F0401 import pkg.client.image as image import pkg.client.progress as progress -# pylint: enable=F0401 import Bcfg2.Client.Tools diff --git a/src/lib/Bcfg2/Client/Tools/VCS.py b/src/lib/Bcfg2/Client/Tools/VCS.py index 790ac787a..6c4c77426 100644 --- a/src/lib/Bcfg2/Client/Tools/VCS.py +++ b/src/lib/Bcfg2/Client/Tools/VCS.py @@ -10,7 +10,6 @@ import os import shutil import sys -# pylint: disable=F0401 # python-dulwich git imports try: import dulwich @@ -23,7 +22,6 @@ try: import pysvn except ImportError: missing.append('svn') -# pylint: enable=F0401 import Bcfg2.Client.Tools diff --git a/src/lib/Bcfg2/Client/XML.py b/src/lib/Bcfg2/Client/XML.py index 720416724..91d4ac5c6 100644 --- a/src/lib/Bcfg2/Client/XML.py +++ b/src/lib/Bcfg2/Client/XML.py @@ -2,7 +2,7 @@ # library will use lxml, then builtin xml.etree, then ElementTree -# pylint: disable=F0401,E0611,W0611,W0613,C0103 +# pylint: disable=E0611,W0611,W0613,C0103 try: from lxml.etree import Element, SubElement, XML, tostring diff --git a/src/lib/Bcfg2/Compat.py b/src/lib/Bcfg2/Compat.py index f466b8e03..635c49a49 100644 --- a/src/lib/Bcfg2/Compat.py +++ b/src/lib/Bcfg2/Compat.py @@ -3,7 +3,7 @@ Python 2.4 and such-like """ import sys -# pylint: disable=F0401,E0611,W0611,W0622,C0103 +# pylint: disable=E0611,W0611,W0622,C0103 try: from email.Utils import formatdate diff --git a/src/lib/Bcfg2/Proxy.py b/src/lib/Bcfg2/Proxy.py index f3a19c3b3..72953ef3e 100644 --- a/src/lib/Bcfg2/Proxy.py +++ b/src/lib/Bcfg2/Proxy.py @@ -16,7 +16,6 @@ except ImportError: SSL_LIB = 'm2crypto' SSL_ERROR = SSL.SSLError - import sys import time diff --git a/src/lib/Bcfg2/Server/Admin/Snapshots.py b/src/lib/Bcfg2/Server/Admin/Snapshots.py index c3f3268d0..36e3dfe02 100644 --- a/src/lib/Bcfg2/Server/Admin/Snapshots.py +++ b/src/lib/Bcfg2/Server/Admin/Snapshots.py @@ -2,7 +2,7 @@ from datetime import date import sys # Prereq issues can be signaled with ImportError, so no try needed -import sqlalchemy, sqlalchemy.orm # pylint: disable=F0401 +import sqlalchemy, sqlalchemy.orm import Bcfg2.Server.Admin import Bcfg2.Server.Snapshots import Bcfg2.Server.Snapshots.model diff --git a/src/lib/Bcfg2/Server/CherryPyCore.py b/src/lib/Bcfg2/Server/CherryPyCore.py index 684ea4556..6b438b71c 100644 --- a/src/lib/Bcfg2/Server/CherryPyCore.py +++ b/src/lib/Bcfg2/Server/CherryPyCore.py @@ -2,9 +2,9 @@ import sys import time -import cherrypy from Bcfg2.Compat import urlparse, xmlrpclib, b64decode from Bcfg2.Server.Core import BaseCore +import cherrypy from cherrypy.lib import xmlrpcutil from cherrypy._cptools import ErrorTool from cherrypy.process.plugins import Daemonizer diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py index 0e5a88f79..81b020a13 100644 --- a/src/lib/Bcfg2/Server/Core.py +++ b/src/lib/Bcfg2/Server/Core.py @@ -20,7 +20,7 @@ from Bcfg2.Compat import xmlrpclib, reduce, wraps # pylint: disable=W0622 from Bcfg2.Server.Plugin import PluginInitError, PluginExecutionError try: - import psyco # pylint: disable=F0401 + import psyco psyco.full() except ImportError: pass diff --git a/src/lib/Bcfg2/Server/FileMonitor/Fam.py b/src/lib/Bcfg2/Server/FileMonitor/Fam.py index 9c6031be9..d1420c105 100644 --- a/src/lib/Bcfg2/Server/FileMonitor/Fam.py +++ b/src/lib/Bcfg2/Server/FileMonitor/Fam.py @@ -1,7 +1,7 @@ """ Fam provides FAM support for file alteration events """ import os -import _fam # pylint: disable=F0401 +import _fam import stat import logging from time import time diff --git a/src/lib/Bcfg2/Server/FileMonitor/Gamin.py b/src/lib/Bcfg2/Server/FileMonitor/Gamin.py index d0ba59cd8..12965c040 100644 --- a/src/lib/Bcfg2/Server/FileMonitor/Gamin.py +++ b/src/lib/Bcfg2/Server/FileMonitor/Gamin.py @@ -2,10 +2,8 @@ import os import stat -# pylint: disable=F0401 from gamin import WatchMonitor, GAMCreated, GAMExists, GAMEndExist, \ GAMChanged, GAMDeleted -# pylint: enable=F0401 from Bcfg2.Server.FileMonitor import Event, FileMonitor diff --git a/src/lib/Bcfg2/Server/FileMonitor/Inotify.py b/src/lib/Bcfg2/Server/FileMonitor/Inotify.py index 5a8a1e1c6..175df65c8 100644 --- a/src/lib/Bcfg2/Server/FileMonitor/Inotify.py +++ b/src/lib/Bcfg2/Server/FileMonitor/Inotify.py @@ -2,7 +2,7 @@ import os import logging -import pyinotify # pylint: disable=F0401 +import pyinotify from Bcfg2.Compat import reduce # pylint: disable=W0622 from Bcfg2.Server.FileMonitor import Event from Bcfg2.Server.FileMonitor.Pseudo import Pseudo diff --git a/src/lib/Bcfg2/Server/Plugins/Bzr.py b/src/lib/Bcfg2/Server/Plugins/Bzr.py index 4de204468..a8b4113ff 100644 --- a/src/lib/Bcfg2/Server/Plugins/Bzr.py +++ b/src/lib/Bcfg2/Server/Plugins/Bzr.py @@ -2,10 +2,8 @@ bazaar. """ import Bcfg2.Server.Plugin -# pylint: disable=F0401 from bzrlib.workingtree import WorkingTree from bzrlib import errors -# pylint: enable=F0401 class Bzr(Bcfg2.Server.Plugin.Plugin, diff --git a/src/lib/Bcfg2/Server/Plugins/DBStats.py b/src/lib/Bcfg2/Server/Plugins/DBStats.py index 16e9e4a8a..b796b3431 100644 --- a/src/lib/Bcfg2/Server/Plugins/DBStats.py +++ b/src/lib/Bcfg2/Server/Plugins/DBStats.py @@ -5,10 +5,7 @@ import platform import sys import time -try: - from django.core.exceptions import MultipleObjectsReturned -except ImportError: - pass +from django.core.exceptions import MultipleObjectsReturned import Bcfg2.Server.Plugin from Bcfg2.Server.Reports.importscript import load_stat diff --git a/src/lib/Bcfg2/Server/Plugins/Git.py b/src/lib/Bcfg2/Server/Plugins/Git.py index 30416a147..56f05e4f6 100644 --- a/src/lib/Bcfg2/Server/Plugins/Git.py +++ b/src/lib/Bcfg2/Server/Plugins/Git.py @@ -1,7 +1,7 @@ """ The Git plugin provides a revision interface for Bcfg2 repos using git. """ -from dulwich.repo import Repo # pylint: disable=F0401 +from dulwich.repo import Repo import Bcfg2.Server.Plugin diff --git a/src/lib/Bcfg2/Server/Plugins/Guppy.py b/src/lib/Bcfg2/Server/Plugins/Guppy.py index d13e3f061..4f2601f15 100644 --- a/src/lib/Bcfg2/Server/Plugins/Guppy.py +++ b/src/lib/Bcfg2/Server/Plugins/Guppy.py @@ -27,6 +27,7 @@ Remote interactive console. To return to Annex, type '-'. """ import Bcfg2.Server.Plugin +from guppy.heapy import Remote class Guppy(Bcfg2.Server.Plugin.Plugin): @@ -45,7 +46,6 @@ class Guppy(Bcfg2.Server.Plugin.Plugin): def Enable(self): """Enable remote debugging""" try: - from guppy.heapy import Remote Remote.on() except: self.logger.error("Failed to create Heapy context") @@ -54,7 +54,6 @@ class Guppy(Bcfg2.Server.Plugin.Plugin): def Disable(self): """Disable remote debugging""" try: - from guppy.heapy import Remote Remote.off() except: self.logger.error("Failed to disable Heapy") diff --git a/src/lib/Bcfg2/Server/Plugins/Ldap.py b/src/lib/Bcfg2/Server/Plugins/Ldap.py index 8e5ce2624..f724402d0 100644 --- a/src/lib/Bcfg2/Server/Plugins/Ldap.py +++ b/src/lib/Bcfg2/Server/Plugins/Ldap.py @@ -10,7 +10,7 @@ logger = logging.getLogger('Bcfg2.Plugins.Ldap') try: import ldap -except: +except ImportError: logger.error("Unable to load ldap module. Is python-ldap installed?") raise ImportError @@ -21,16 +21,18 @@ RETRY_DELAY = 5 RETRY_COUNT = 3 SCOPE_MAP = { - "base" : ldap.SCOPE_BASE, - "one" : ldap.SCOPE_ONELEVEL, - "sub" : ldap.SCOPE_SUBTREE, + "base": ldap.SCOPE_BASE, + "one": ldap.SCOPE_ONELEVEL, + "sub": ldap.SCOPE_SUBTREE, } LDAP_QUERIES = [] + def register_query(query): LDAP_QUERIES.append(query) + class ConfigFile(Bcfg2.Server.Plugin.FileBacked): """ Config file for the Ldap plugin @@ -58,6 +60,7 @@ class ConfigFile(Bcfg2.Server.Plugin.FileBacked): LDAP_QUERIES = [] imp.load_source("ldap_cfg", self.filename) + class Ldap(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Connector): """ The Ldap plugin allows adding data from an LDAP server to your metadata. diff --git a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py index f2b8336e0..d815999f0 100644 --- a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py +++ b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py @@ -6,15 +6,15 @@ import sys import glob import socket import logging -import lxml.etree import Bcfg2.Server import Bcfg2.Server.Plugin -LOGGER = logging.getLogger('Bcfg2.Plugins.NagiosGen') +LOGGER = logging.getLogger(__name__) -line_fmt = '\t%-32s %s' class NagiosGenConfig(Bcfg2.Server.Plugin.StructFile): + """ NagiosGen config file handler """ + def __init__(self, filename, fam): # create config.xml if missing if not os.path.exists(filename): @@ -28,11 +28,10 @@ class NagiosGenConfig(Bcfg2.Server.Plugin.StructFile): class NagiosGen(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Generator): - """NagiosGen is a Bcfg2 plugin that dynamically generates - Nagios configuration file based on Bcfg2 data. - """ - name = 'NagiosGen' + """ NagiosGen is a Bcfg2 plugin that dynamically generates Nagios + configuration file based on Bcfg2 data. """ __author__ = 'bcfg-dev@mcs.anl.gov' + line_fmt = '\t%-32s %s' def __init__(self, core, datastore): Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) @@ -59,84 +58,47 @@ class NagiosGen(Bcfg2.Server.Plugin.Plugin, try: host_address = socket.gethostbyname(metadata.hostname) except socket.gaierror: - LOGGER.error("Failed to find IP address for %s" % - metadata.hostname) + self.logger.error("Failed to find IP address for %s" % + metadata.hostname) raise Bcfg2.Server.Plugin.PluginExecutionError host_groups = [grp for grp in metadata.groups if os.path.isfile('%s/%s-group.cfg' % (self.data, grp))] host_config = ['define host {', - line_fmt % ('host_name', metadata.hostname), - line_fmt % ('alias', metadata.hostname), - line_fmt % ('address', host_address)] + self.line_fmt % ('host_name', metadata.hostname), + self.line_fmt % ('alias', metadata.hostname), + self.line_fmt % ('address', host_address)] if host_groups: - host_config.append(line_fmt % ("hostgroups", - ",".join(host_groups))) + host_config.append(self.line_fmt % ("hostgroups", + ",".join(host_groups))) - # read the old-style Properties config, but emit a warning. + # read the config xtra = dict() - props = None - if (hasattr(metadata, 'Properties') and - 'NagiosGen.xml' in metadata.Properties): - props = metadata.Properties['NagiosGen.xml'].data - if props is not None: - LOGGER.warn("Parsing deprecated Properties/NagiosGen.xml. " - "Update to the new-style config with " - "nagiosgen-convert.py.") - xtra = dict((el.tag, el.text) - for el in props.find(metadata.hostname)) - # hold off on parsing the defaults until we've checked for - # a new-style config - - # read the old-style parents.xml, but emit a warning - pfile = os.path.join(self.data, "parents.xml") - if os.path.exists(pfile): - LOGGER.warn("Parsing deprecated NagiosGen/parents.xml. " - "Update to the new-style config with " - "nagiosgen-convert.py.") - parents = lxml.etree.parse(pfile, - parser=Bcfg2.Server.XMLParser) - for el in parents.xpath("//Depend[@name='%s']" % metadata.hostname): - if 'parent' in xtra: - xtra['parent'] += "," + el.get("on") - else: - xtra['parent'] = el.get("on") - - # read the new-style config and overwrite the old-style config for el in self.config.Match(metadata): if el.tag == 'Option': xtra[el.get("name")] = el.text - # if we haven't found anything in the new- or old-style - # configs, finally read defaults from old-style config - if not xtra and props is not None: - xtra = dict((el.tag, el.text) for el in props.find('default')) - if xtra: - host_config.extend([line_fmt % (opt, val) + host_config.extend([self.line_fmt % (opt, val) for opt, val in list(xtra.items())]) else: - host_config.append(line_fmt % ('use', 'default')) + host_config.append(self.line_fmt % ('use', 'default')) host_config.append('}') entry.text = "%s\n" % "\n".join(host_config) - [entry.attrib.__setitem__(key, value) - for (key, value) in list(self.client_attrib.items())] + for (key, value) in list(self.client_attrib.items()): + entry.attrib.__setitem__(key, value) + fname = os.path.join(self.data, metadata.hostname + "-host.cfg") try: - fileh = open("%s/%s-host.cfg" % - (self.data, metadata.hostname), 'w') - fileh.write(entry.text) - fileh.close() + open(fname, 'w').write(entry.text) except OSError: - ioerr = sys.exc_info()[1] - LOGGER.error("Failed to write %s/%s-host.cfg" % - (self.data, metadata.hostname)) - LOGGER.error(ioerr) + err = sys.exc_info()[1] + self.logger.error("Failed to write %s: %s" % (fname, err)) def createserverconfig(self, entry, _): """Build monolithic server configuration file.""" - host_configs = glob.glob('%s/*-host.cfg' % self.data) - group_configs = glob.glob('%s/*-group.cfg' % self.data) + host_configs = glob.glob(os.path.join(self.data, '*-host.cfg')) + group_configs = glob.glob(os.path.join(self.data, '*-group.cfg')) host_data = [] group_data = [] for host in host_configs: @@ -150,13 +112,11 @@ class NagiosGen(Bcfg2.Server.Plugin.Plugin, groupfile.close() entry.text = "%s\n\n%s" % ("\n".join(group_data), "\n".join(host_data)) - [entry.attrib.__setitem__(key, value) - for (key, value) in list(self.server_attrib.items())] + for (key, value) in list(self.server_attrib.items()): + entry.attrib.__setitem__(key, value) + fname = os.path.join(self.data, "nagiosgen.cfg") try: - fileh = open("%s/nagiosgen.cfg" % self.data, 'w') - fileh.write(entry.text) - fileh.close() + open(fname, 'w').write(entry.text) except OSError: - ioerr = sys.exc_info()[1] - LOGGER.error("Failed to write %s/nagiosgen.cfg" % self.data) - LOGGER.error(ioerr) + err = sys.exc_info()[1] + self.logger.error("Failed to write %s: %s" % (fname, err)) diff --git a/src/lib/Bcfg2/Server/Plugins/Ohai.py b/src/lib/Bcfg2/Server/Plugins/Ohai.py index fbb46f004..ebc03197e 100644 --- a/src/lib/Bcfg2/Server/Plugins/Ohai.py +++ b/src/lib/Bcfg2/Server/Plugins/Ohai.py @@ -6,12 +6,10 @@ import lxml.etree import os import Bcfg2.Server.Plugin -# pylint: disable=F0401 try: import json except ImportError: import simplejson as json -# pylint: enable=F0401 PROBECODE = """#!/bin/sh diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index 592369029..420c65844 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -69,7 +69,7 @@ from Bcfg2.Server.Plugins.Packages.Source import SourceInitError, Source, \ LOGGER = logging.getLogger(__name__) -# pylint: disable=E0611,F0401 +# pylint: disable=E0611 try: from pulp.client.consumer.config import ConsumerConfig from pulp.client.api.repository import RepositoryAPI @@ -78,6 +78,7 @@ try: HAS_PULP = True except ImportError: HAS_PULP = False +# pylint: enable=E0611 try: import yum @@ -91,7 +92,6 @@ except ImportError: LOGGER.info("Packages: No yum libraries found; forcing use of internal " "dependency resolver") -# pylint: enable=E0611,F0401 XP = '{http://linux.duke.edu/metadata/common}' RP = '{http://linux.duke.edu/metadata/rpm}' diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py index e0f527f2c..872cbb34e 100644 --- a/src/lib/Bcfg2/Server/Plugins/Probes.py +++ b/src/lib/Bcfg2/Server/Plugins/Probes.py @@ -10,7 +10,6 @@ import lxml.etree import Bcfg2.Server import Bcfg2.Server.Plugin -# pylint: disable=F0401 try: from django.db import models HAS_DJANGO = True @@ -52,7 +51,6 @@ except ImportError: HAS_YAML = True except ImportError: HAS_YAML = False -# pylint: enable=F0401 class ClientProbeDataSet(dict): diff --git a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py index ebcbf3bcc..801e7006d 100644 --- a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py +++ b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py @@ -6,7 +6,6 @@ import Bcfg2.Server import Bcfg2.Server.Plugin from subprocess import Popen, PIPE -# pylint: disable=F0401 try: from syck import load as yaml_load, error as yaml_error except ImportError: @@ -14,7 +13,6 @@ except ImportError: from yaml import load as yaml_load, YAMLError as yaml_error except ImportError: raise ImportError("No yaml library could be found") -# pylint: enable=F0401 class PuppetENCFile(Bcfg2.Server.Plugin.FileBacked): diff --git a/src/lib/Bcfg2/Server/Plugins/Svn2.py b/src/lib/Bcfg2/Server/Plugins/Svn2.py index 110f2c2eb..19093eb6a 100644 --- a/src/lib/Bcfg2/Server/Plugins/Svn2.py +++ b/src/lib/Bcfg2/Server/Plugins/Svn2.py @@ -4,13 +4,11 @@ XML-RPC methods. """ import sys import Bcfg2.Server.Plugin -# pylint: disable=F0401 try: import pysvn HAS_SVN = False except ImportError: HAS_SVN = True -# pylint: enable=F0401 class Svn2(Bcfg2.Server.Plugin.Plugin, diff --git a/src/lib/Bcfg2/Server/Reports/reports/templatetags/syntax_coloring.py b/src/lib/Bcfg2/Server/Reports/reports/templatetags/syntax_coloring.py index 70ef49bc1..bd379b98d 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/templatetags/syntax_coloring.py +++ b/src/lib/Bcfg2/Server/Reports/reports/templatetags/syntax_coloring.py @@ -8,16 +8,15 @@ from Bcfg2.Compat import u_str register = template.Library() -# pylint: disable=E0611,F0401 +# pylint: disable=E0611 try: from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter colorize = True - except: colorize = False -# pylint: enable=E0611,F0401 +# pylint: enable=E0611 @register.filter -- cgit v1.2.3-1-g7c22