diff options
author | Todd Zullinger <tmz@pobox.com> | 2014-04-02 17:28:19 -0400 |
---|---|---|
committer | Todd Zullinger <tmz@pobox.com> | 2014-04-02 17:32:26 -0400 |
commit | 5d87ad1ed09946b5602c0a8f9ad50d9f1b5c199c (patch) | |
tree | 061c60492404d24ad908a6c705cf975f7ef8caa6 | |
parent | 4b9e6b6ed3cdde1941494cf4d2f3c73eb771322a (diff) | |
download | puppet-host-package-5d87ad1ed09946b5602c0a8f9ad50d9f1b5c199c.tar.gz puppet-host-package-5d87ad1ed09946b5602c0a8f9ad50d9f1b5c199c.tar.xz puppet-host-package-5d87ad1ed09946b5602c0a8f9ad50d9f1b5c199c.zip |
Miscellaneous cleanups noted by pylint
* Add missing docstrings, end all doctrings with a period
* Avoid overriding builtins (format, type)
* Don't use [] as method defaults
-rw-r--r-- | puppethost.py | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/puppethost.py b/puppethost.py index 4b9ae37..3d4537b 100644 --- a/puppethost.py +++ b/puppethost.py @@ -65,24 +65,25 @@ for config in configs: try: defaults[opt] = int(str(defaults[opt]).lower() in truths) except: - raise defaults[opt] = 0 package_types = ['deb', 'rpm'] -def sign(packages, key='', verbose=defaults['verbose']): - for type in package_types: - pkgs = [p for t,p in packages if t == type] +def sign(packages, key=''): + """Sign packages.""" + for ptype in package_types: + pkgs = [p for t, p in packages if t == ptype] if not pkgs: continue try: - sign_func = getattr(sys.modules[__name__], '_' + type + 'sign') + sign_func = getattr(sys.modules[__name__], '_' + ptype + 'sign') except AttributeError: raise NotImplementedError( - 'Signing of %s packages is not implemented' % type) + 'Signing of %s packages is not implemented' % ptype) sign_func(pkgs, key) def _rpmsign(rpms, key='', tries=3): + """Run rpm --addsign.""" cmd = 'rpm --addsign' if key: cmd = cmd + ' --define "_gpg_name %s"' % key @@ -102,11 +103,13 @@ def _rpmsign(rpms, key='', tries=3): return True class PuppetHostError(StandardError): + """Exception raised on errors.""" pass class PuppetHost(object): + """PuppetHost class.""" def __init__(self, hostname = '', opts = defaults): - """Puppet host class""" + """Initialize PuppetHost objects.""" if not hostname: raise PuppetHostError('A hostname must be provided') @@ -118,13 +121,14 @@ class PuppetHost(object): self.opts = opts self.datefmt = '%Y%m%d' + self.missing = [] self.packages = [] self.tarball = '' self.tmpdir = tempfile.mkdtemp('', self.opts['pkgprefix']) self._version = '' def gencert(self): - """Generate a puppet certificate""" + """Generate a puppet certificate.""" cert = self.files['cert'] ssldir = self.opts['ssldir'] if os.path.exists(cert) and not self.opts['force_cert']: @@ -146,7 +150,7 @@ class PuppetHost(object): self._version = time.strftime(self.datefmt) def package(self, packages = ['rpm']): - """Create packages in requested formats""" + """Create packages in requested format.""" for package in packages: if package not in package_types or not hasattr(self, package): raise PuppetHostError('Bogus package type: %s' % package) @@ -156,10 +160,11 @@ class PuppetHost(object): continue def deb(self): - """Create a .deb package""" + """Create a .deb package.""" raise NotImplementedError('FIXME if you need debian packages.') def tar(self): + """Create a gzip'ed .tar file.""" self._check_files() name = '%s%s-%s' % (self.opts['pkgprefix'], self.hostname, self.version) @@ -184,7 +189,7 @@ class PuppetHost(object): print 'done' def rpm(self): - """Create a .rpm package""" + """Create a .rpm package.""" rpmdir = self.opts['rpmdir'] if not self.tarball or not os.path.exists(self.tarball): @@ -233,7 +238,7 @@ class PuppetHost(object): self.packages.append(('rpm', rpm)) def _check_files(self): - """Check for the files we care about""" + """Check for the files we care about.""" self.missing = [f for f in self.files.values() if not os.path.exists(f)] if self.missing: @@ -242,7 +247,9 @@ class PuppetHost(object): error += '\t%s' % f raise PuppetHostError(error) - def cleanup(self, dirs=[]): + def cleanup(self, dirs=None): + """Remove cruft.""" + dirs = dirs is not None and dirs or [] dirs.append(self.tmpdir) for d in dirs: if os.path.isdir(d): @@ -250,6 +257,7 @@ class PuppetHost(object): @property def files(self): + """Expanded file list.""" hostname = self.hostname ssldir = self.opts['ssldir'] cert = '%s/certs/%s.pem' % (ssldir, hostname) @@ -265,7 +273,7 @@ class PuppetHost(object): @property def version(self): - """Get the date from a certificate""" + """Get the date from a certificate.""" if self._version: return self._version @@ -279,14 +287,14 @@ class PuppetHost(object): self._version = x509.get_notBefore()[:8] except: # pyOpenSSL < 0.7 lacks load_certificate()... do it the hard way - format = self.datefmt + datefmt = self.datefmt cmd = 'openssl x509 -in %s -text -noout' % cert status, output = commands.getstatusoutput(cmd) if status == 0: date = [l.split(':', 1)[1].lstrip() for l in output.split('\n') if 'Not Before:' in l][0] fmt = '%b %d %H:%M:%S %Y %Z' - self._version = time.strftime(format, time.strptime(date, fmt)) + self._version = time.strftime(datefmt, time.strptime(date, fmt)) else: - self._version = time.strftime(format) + self._version = time.strftime(datefmt) return self._version |