diff --git a/.travis.yml b/.travis.yml index 62bbff5cd69..834a139e482 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,4 @@ addons: packages: - python2.4 script: - - python2.4 -m compileall -fq -x 'cloud/' . + - python2.4 -m compileall -fq -x 'cloud/|zabbix|layman.py|maven_artifact.py' . diff --git a/database/vertica/vertica_user.py b/database/vertica/vertica_user.py index a011bf35adb..576e8b887ef 100644 --- a/database/vertica/vertica_user.py +++ b/database/vertica/vertica_user.py @@ -233,7 +233,10 @@ def present(user_facts, cursor, user, profile, resource_pool, changed = False query_fragments = ["alter user {0}".format(user)] if locked is not None and locked != (user_facts[user_key]['locked'] == 'True'): - state = 'lock' if locked else 'unlock' + if locked: + state = 'lock' + else: + state = 'unlock' query_fragments.append("account {0}".format(state)) changed = True if password and password != user_facts[user_key]['password']: diff --git a/files/patch.py b/files/patch.py index ec3a3b02c00..e0d7d1d335d 100755 --- a/files/patch.py +++ b/files/patch.py @@ -110,7 +110,7 @@ def apply_patch(patch_func, patch_file, basedir, dest_file=None, strip=0, dry_ru (rc, out, err) = patch_func(opts) if rc != 0: - msg = out if not err else err + msg = err or out raise PatchError(msg) diff --git a/monitoring/bigpanda.py b/monitoring/bigpanda.py index 11950287078..b1a45145ede 100644 --- a/monitoring/bigpanda.py +++ b/monitoring/bigpanda.py @@ -162,7 +162,7 @@ def main(): module.exit_json(changed=True, **deployment) else: module.fail_json(msg=json.dumps(info)) - except Exception as e: + except Exception, e: module.fail_json(msg=str(e)) # import module snippets diff --git a/monitoring/boundary_meter.py b/monitoring/boundary_meter.py index da739d4306f..f6d84328597 100644 --- a/monitoring/boundary_meter.py +++ b/monitoring/boundary_meter.py @@ -213,7 +213,7 @@ def download_request(module, name, apiid, apikey, cert_type): cert_file = open(cert_file_path, 'w') cert_file.write(body) cert_file.close - os.chmod(cert_file_path, 0o600) + os.chmod(cert_file_path, 0600) except: module.fail_json("Could not write to certificate file") diff --git a/monitoring/librato_annotation.py b/monitoring/librato_annotation.py index 63979f41bfb..161caebb07c 100644 --- a/monitoring/librato_annotation.py +++ b/monitoring/librato_annotation.py @@ -138,11 +138,11 @@ def post_annotation(module): headers = {} headers['Content-Type'] = 'application/json' - headers['Authorization'] = b"Basic " + base64.b64encode(user + b":" + api_key).strip() + headers['Authorization'] = "Basic " + base64.b64encode(user + ":" + api_key).strip() req = urllib2.Request(url, json_body, headers) try: response = urllib2.urlopen(req) - except urllib2.HTTPError as e: + except urllib2.HTTPError, e: module.fail_json(msg="Request Failed", reason=e.reason) response = response.read() module.exit_json(changed=True, annotation=response) diff --git a/notification/slack.py b/notification/slack.py index 7e8a81c811b..19af9d9d093 100644 --- a/notification/slack.py +++ b/notification/slack.py @@ -141,9 +141,9 @@ def build_payload_for_slack(module, text, channel, username, icon_url, icon_emoj else: payload = dict(attachments=[dict(text=text, color=color)]) if channel is not None: - if (channel[0] == '#') or (channel[0] == '@') + if (channel[0] == '#') or (channel[0] == '@'): payload['channel'] = channel - else + else: payload['channel'] = '#'+channel if username is not None: payload['username'] = username diff --git a/packaging/os/pkg5.py b/packaging/os/pkg5.py index b250a02850c..6adbff7f331 100644 --- a/packaging/os/pkg5.py +++ b/packaging/os/pkg5.py @@ -128,13 +128,18 @@ def ensure(module, state, packages, params): }, } + if params['accept_licenses']: + accept_licenses = ['--accept'] + else: + accept_licenses = [] + to_modify = filter(behaviour[state]['filter'], packages) if to_modify: rc, out, err = module.run_command( [ 'pkg', behaviour[state]['subcommand'] ] - + (['--accept'] if params['accept_licenses'] else []) + + accept_licenses + [ '-q', '--' ] + to_modify @@ -151,12 +156,12 @@ def ensure(module, state, packages, params): def is_installed(module, package): rc, out, err = module.run_command(['pkg', 'list', '--', package]) - return True if rc == 0 else False + return not bool(int(rc)) def is_latest(module, package): rc, out, err = module.run_command(['pkg', 'list', '-u', '--', package]) - return True if rc == 1 else False + return bool(int(rc)) from ansible.module_utils.basic import * diff --git a/packaging/os/pkg5_publisher.py b/packaging/os/pkg5_publisher.py index 63c62059203..53d7ad821f2 100644 --- a/packaging/os/pkg5_publisher.py +++ b/packaging/os/pkg5_publisher.py @@ -122,10 +122,15 @@ def set_publisher(module, params): args.append('--remove-mirror=*') args.extend(['--add-mirror=' + u for u in params['mirror']]) - if params['sticky'] != None: - args.append('--sticky' if params['sticky'] else '--non-sticky') - if params['enabled'] != None: - args.append('--enable' if params['enabled'] else '--disable') + if params['sticky'] != None and params['sticky']: + args.append('--sticky') + elif params['sticky'] != None: + args.append('--non-sticky') + + if params['enabled'] != None and params['enabled']: + args.append('--enable') + elif params['enabled'] != None: + args.append('--disable') rc, out, err = module.run_command( ["pkg", "set-publisher"] + args + [name], diff --git a/packaging/os/pkgng.py b/packaging/os/pkgng.py index 1aa8e0c737f..c54affbee22 100644 --- a/packaging/os/pkgng.py +++ b/packaging/os/pkgng.py @@ -252,9 +252,8 @@ def annotate_packages(module, pkgng_path, packages, annotation): for package in packages: for _annotation in annotations: - annotate_c += ( 1 if operation[_annotation['operation']]( - module, pkgng_path, package, - _annotation['tag'], _annotation['value']) else 0 ) + if operation[_annotation['operation']](module, pkgng_path, package, _annotation['tag'], _annotation['value']): + annotate_c += 1 if annotate_c > 0: return (True, "added %s annotations." % annotate_c) diff --git a/packaging/os/portage.py b/packaging/os/portage.py index eb77baa14f6..124008c6522 100644 --- a/packaging/os/portage.py +++ b/packaging/os/portage.py @@ -422,7 +422,9 @@ def main(): if not p['package']: module.exit_json(msg='Sync successfully finished.') - packages = p['package'].split(',') if p['package'] else [] + packages = [] + if p['package']: + packages.extend(p['package'].split(',')) if p['depclean']: if packages and p['state'] not in portage_absent_states: diff --git a/system/alternatives.py b/system/alternatives.py index ff4de59cf11..62669db9b14 100755 --- a/system/alternatives.py +++ b/system/alternatives.py @@ -132,7 +132,7 @@ def main(): ) module.exit_json(changed=True) - except subprocess.CalledProcessError as cpe: + except subprocess.CalledProcessError, cpe: module.fail_json(msg=str(dir(cpe))) else: module.exit_json(changed=False) diff --git a/system/crypttab.py b/system/crypttab.py index ccd4102c66b..5621190244a 100644 --- a/system/crypttab.py +++ b/system/crypttab.py @@ -155,8 +155,9 @@ def main(): if changed and not module.check_mode: - with open(path, 'wb') as f: - f.write(str(crypttab)) + f = open(path, 'wb') + f.write(str(crypttab)) + f.close() module.exit_json(changed=changed, msg=reason, **module.params) @@ -172,9 +173,10 @@ class Crypttab(object): os.makedirs(os.path.dirname(path)) open(path,'a').close() - with open(path, 'r') as f: - for line in f.readlines(): - self._lines.append(Line(line)) + f = open(path, 'r') + for line in f.readlines(): + self._lines.append(Line(line)) + f.close() def add(self, line): self._lines.append(line) @@ -242,10 +244,19 @@ class Line(object): def _split_line(self, line): fields = line.split() + try: + field2 = field[2] + except IndexError: + field2 = None + try: + field3 = field[3] + except IndexError: + field3 = None + return (fields[0], fields[1], - fields[2] if len(fields) >= 3 else None, - fields[3] if len(fields) >= 4 else None) + field2, + fields3) def remove(self): self.line, self.name, self.backing_device = '', None, None @@ -260,7 +271,10 @@ class Line(object): if self.valid(): fields = [self.name, self.backing_device] if self.password is not None or self.opts: - fields.append(self.password if self.password is not None else 'none') + if self.password is not None: + fields.append(self.password) + else: + self.password('none') if self.opts: fields.append(str(self.opts)) return ' '.join(fields) @@ -276,7 +290,10 @@ class Options(dict): if opts_string is not None: for opt in opts_string.split(','): kv = opt.split('=') - k, v = (kv[0], kv[1]) if len(kv) > 1 else (kv[0], None) + if len(kv) > 1: + k, v = (kv[0], kv[1]) + else: + k, v = (kv[0], None) self[k] = v def add(self, opts_string): @@ -324,8 +341,13 @@ class Options(dict): and sorted(self.items()) == sorted(obj.items())) def __str__(self): - return ','.join([k if v is None else '%s=%s' % (k, v) - for k, v in self.items()]) + ret = [] + for k, v in self.items(): + if v is None: + ret.append(k) + else: + ret.append('%s=%s' % (k, v)) + return ','.join(ret) # import module snippets from ansible.module_utils.basic import * diff --git a/system/gluster_volume.py b/system/gluster_volume.py index 2a8bc74df72..04a75d93ce0 100644 --- a/system/gluster_volume.py +++ b/system/gluster_volume.py @@ -145,7 +145,7 @@ def run_gluster(gargs, **kwargs): try: rc, out, err = module.run_command(args, **kwargs) if rc != 0: - module.fail_json(msg='error running gluster (%s) command (rc=%d): %s' % (' '.join(args), rc, out if out != '' else err)) + module.fail_json(msg='error running gluster (%s) command (rc=%d): %s' % (' '.join(args), rc, out or err)) except Exception, e: module.fail_json(msg='error running gluster (%s) command: %s' % (' '.join(args), str(e))) return out @@ -167,7 +167,7 @@ def run_gluster_yes(gargs): args.extend(gargs) rc, out, err = module.run_command(args, data='y\n') if rc != 0: - module.fail_json(msg='error running gluster (%s) command (rc=%d): %s' % (' '.join(args), rc, out if out != '' else err)) + module.fail_json(msg='error running gluster (%s) command (rc=%d): %s' % (' '.join(args), rc, out or err)) return out def get_peers(): diff --git a/system/locale_gen.py b/system/locale_gen.py index c5943cd63a0..ea40b598d4e 100644 --- a/system/locale_gen.py +++ b/system/locale_gen.py @@ -55,11 +55,12 @@ def is_available(name, ubuntuMode): __locales_available = '/etc/locale.gen' re_compiled = re.compile(__regexp) - with open(__locales_available, 'r') as fd: - for line in fd: - result = re_compiled.match(line) - if result and result.group('locale') == name: - return True + fd = open(__locales_available, 'r') + for line in fd: + result = re_compiled.match(line) + if result and result.group('locale') == name: + return True + fd.close() return False def is_present(name): @@ -76,10 +77,12 @@ def fix_case(name): def replace_line(existing_line, new_line): """Replaces lines in /etc/locale.gen""" - with open("/etc/locale.gen", "r") as f: - lines = [line.replace(existing_line, new_line) for line in f] - with open("/etc/locale.gen", "w") as f: - f.write("".join(lines)) + f = open("/etc/locale.gen", "r") + lines = [line.replace(existing_line, new_line) for line in f] + f.close() + f = open("/etc/locale.gen", "w") + f.write("".join(lines)) + f.close() def set_locale(name, enabled=True): """ Sets the state of the locale. Defaults to enabled. """ @@ -88,10 +91,12 @@ def set_locale(name, enabled=True): new_string = '%s \g' % (name) else: new_string = '# %s \g' % (name) - with open("/etc/locale.gen", "r") as f: - lines = [re.sub(search_string, new_string, line) for line in f] - with open("/etc/locale.gen", "w") as f: - f.write("".join(lines)) + f = open("/etc/locale.gen", "r") + lines = [re.sub(search_string, new_string, line) for line in f] + f.close() + f = open("/etc/locale.gen", "w") + f.write("".join(lines)) + f.close() def apply_change(targetState, name): """Create or remove locale. @@ -124,13 +129,15 @@ def apply_change_ubuntu(targetState, name): localeGenExitValue = call(["locale-gen", name]) else: # Delete locale involves discarding the locale from /var/lib/locales/supported.d/local and regenerating all locales. - with open("/var/lib/locales/supported.d/local", "r") as f: - content = f.readlines() - with open("/var/lib/locales/supported.d/local", "w") as f: - for line in content: - locale, charset = line.split(' ') - if locale != name: - f.write(line) + f = open("/var/lib/locales/supported.d/local", "r") + content = f.readlines() + f.close() + f = open("/var/lib/locales/supported.d/local", "w") + for line in content: + locale, charset = line.split(' ') + if locale != name: + f.write(line) + f.close() # Purge locales and regenerate. # Please provide a patch if you know how to avoid regenerating the locales to keep! localeGenExitValue = call(["locale-gen", "--purge"]) @@ -168,7 +175,10 @@ def main(): module.fail_json(msg="The locales you've entered is not available " "on your system.") - prev_state = "present" if is_present(name) else "absent" + if is_present(name): + prev_state = "present" + else: + prev_state = "absent" changed = (prev_state!=state) if module.check_mode: @@ -180,7 +190,7 @@ def main(): apply_change(state, name) else: apply_change_ubuntu(state, name) - except EnvironmentError as e: + except EnvironmentError, e: module.fail_json(msg=e.strerror, exitValue=e.errno) module.exit_json(name=name, changed=changed, msg="OK") diff --git a/web_infrastructure/ejabberd_user.py b/web_infrastructure/ejabberd_user.py index d8b0384679c..bc54351e657 100755 --- a/web_infrastructure/ejabberd_user.py +++ b/web_infrastructure/ejabberd_user.py @@ -113,7 +113,7 @@ class EjabberdUser(object): (rc, out, err) = self.run_command('check_account', options) except EjabberdUserException, e: (rc, out, err) = (1, None, "required attribute(s) missing") - return True if rc == 0 else False + return not bool(int(rc)) def log(self, entry): """ This method will log information to the local syslog facility """ diff --git a/web_infrastructure/jira.py b/web_infrastructure/jira.py index 950fc3dbfcf..437a21b6769 100644 --- a/web_infrastructure/jira.py +++ b/web_infrastructure/jira.py @@ -335,7 +335,7 @@ def main(): ret = method(restbase, user, passwd, module.params) - except Exception as e: + except Exception, e: return module.fail_json(msg=e.message)