John Vandenberg has uploaded a new change for review.
https://gerrit.wikimedia.org/r/263866
Change subject: Add flake8 rule for selected modules
......................................................................
Add flake8 rule for selected modules
Significant number of Python files fail pyflakes rules.
Fix the simplest of them, and exclude the remainder
to be analysed more carefully for side-effects.
Change-Id: I9c921213e36d1d8a3aafce1cf2039172b3c882c9
---
M files/misc/PacketLossLogtailer.py
M files/misc/demux.py
M files/misc/rolematcher.py
M modules/base/files/labs/puppetalert.py
M modules/dataset/files/labs/wmfdumpsmirror.py
M modules/diamond/files/collector/localcrontab.py
M modules/elasticsearch/files/monitor/wmfelastic.py
M modules/hhvm/files/monitoring/hhvm_apc.py
M modules/icinga/files/check_legal_html.py
M modules/icinga/files/purge-nagios-resources.py
M modules/mw_rc_irc/files/monitor/ircd_stats.py
M modules/openstack/files/spreadcheck.py
M modules/pybal/files/pybal_state.py
M modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py
M modules/toollabs/files/gridscripts/runninggridjobsmail.py
M modules/toollabs/files/gridscripts/runninggridtasks.py
M modules/toollabs/files/kube2dynproxy.py
M modules/toollabs/manifests/genpp/genpp.py
M modules/toollabs/manifests/genpp/python.py
M modules/varnish/files/zerofetch.py
M modules/wdqs/files/monitor/wdqs_updater.py
M tox.ini
22 files changed, 38 insertions(+), 42 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/66/263866/1
diff --git a/files/misc/PacketLossLogtailer.py
b/files/misc/PacketLossLogtailer.py
index 4c342a0..0cff4a2 100644
--- a/files/misc/PacketLossLogtailer.py
+++ b/files/misc/PacketLossLogtailer.py
@@ -171,7 +171,9 @@
self.lock.acquire()
try:
mydata = self.deep_copy()
- check_time = self.get_check_duration()
+ # get_check_duration called only to raise LogtailerStateException
+ # if appropriate
+ self.get_check_duration()
self.reset_state()
self.lock.release()
except LogtailerStateException, e:
diff --git a/files/misc/demux.py b/files/misc/demux.py
index 26b452c..a58130f 100755
--- a/files/misc/demux.py
+++ b/files/misc/demux.py
@@ -6,7 +6,6 @@
# Simple python script for demultiplexing MediaWiki log files
import argparse
-import os
import re
import string
import sys
diff --git a/files/misc/rolematcher.py b/files/misc/rolematcher.py
index 583c134..6493a19 100644
--- a/files/misc/rolematcher.py
+++ b/files/misc/rolematcher.py
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
#!/usr/bin/env python
+# -*- coding: utf-8 -*-
'''
This script parses the packet-loss.log file and for each server entry
@@ -15,6 +15,7 @@
PacketLossLogTailer.py is the regular point of entry.
'''
+import httplib
import re
import urllib2
import json
diff --git a/modules/base/files/labs/puppetalert.py
b/modules/base/files/labs/puppetalert.py
index facd0e2..4fade7f 100755
--- a/modules/base/files/labs/puppetalert.py
+++ b/modules/base/files/labs/puppetalert.py
@@ -17,7 +17,6 @@
Send an alert email to project admins about a puppet failure. This is
meant to be run on the affected instance.
"""
-import argparse
import calendar
import time
import ldap
diff --git a/modules/dataset/files/labs/wmfdumpsmirror.py
b/modules/dataset/files/labs/wmfdumpsmirror.py
index e735c89..fae9ef9 100644
--- a/modules/dataset/files/labs/wmfdumpsmirror.py
+++ b/modules/dataset/files/labs/wmfdumpsmirror.py
@@ -2,9 +2,9 @@
import os
import re
import sys
-import subprocess
import shutil
import multiprocessing
+
from subprocess import Popen, PIPE
from Queue import Empty
diff --git a/modules/diamond/files/collector/localcrontab.py
b/modules/diamond/files/collector/localcrontab.py
index 17ef717..0b6aabb 100644
--- a/modules/diamond/files/collector/localcrontab.py
+++ b/modules/diamond/files/collector/localcrontab.py
@@ -8,8 +8,9 @@
"""
import subprocess
-import os
+
import diamond.collector
+
from diamond.collector import str_to_bool
diff --git a/modules/elasticsearch/files/monitor/wmfelastic.py
b/modules/elasticsearch/files/monitor/wmfelastic.py
index 462094a..f96b073 100644
--- a/modules/elasticsearch/files/monitor/wmfelastic.py
+++ b/modules/elasticsearch/files/monitor/wmfelastic.py
@@ -213,7 +213,7 @@
for metric in self.health_metrics:
try:
gmetrics[metric] = chealth[metric]
- except KeyError, e:
+ except KeyError:
self.errors += 1
pass
return gmetrics
@@ -226,7 +226,7 @@
try:
value = self.dict_digger(depth, cstats)
gmetrics[m] = value
- except KeyError, e:
+ except KeyError:
self.errors += 1
pass
return gmetrics
@@ -241,7 +241,7 @@
try:
value = self.dict_digger(depth, nodestats)
gmetrics[m] = value
- except KeyError, e:
+ except KeyError:
self.errors += 1
pass
return gmetrics
diff --git a/modules/hhvm/files/monitoring/hhvm_apc.py
b/modules/hhvm/files/monitoring/hhvm_apc.py
index d75bd7a..1e18664 100644
--- a/modules/hhvm/files/monitoring/hhvm_apc.py
+++ b/modules/hhvm/files/monitoring/hhvm_apc.py
@@ -6,7 +6,6 @@
Diamond collector for HHVM APC stats.
"""
-import json
import re
import urllib2
diff --git a/modules/icinga/files/check_legal_html.py
b/modules/icinga/files/check_legal_html.py
index b201e05..7392f0c 100644
--- a/modules/icinga/files/check_legal_html.py
+++ b/modules/icinga/files/check_legal_html.py
@@ -56,11 +56,6 @@
additional terms may apply.'
-def logger(msg, enabled):
- if enabled:
- print msg
-
-
def site_html(url):
html_content = urllib2.urlopen(url).readlines()
return '\n'.join(html_content)
@@ -94,24 +89,27 @@
ap.set_defaults(verbose=False)
args = ap.parse_args()
- log = lambda m: logger(m, args.verbose)
site = args.site
ensures = ensure.get(args.ensure, [])
if not ensures:
- print "no html ensure list"
+ print("no html ensure list")
sys.exit(3)
- log(site)
+ if args.verbose:
+ print(site)
+
html = site_html(site)
for match in ensures:
- log(match)
+ if args.verbose:
+ print(match)
count = len(re.findall(match, html, re.IGNORECASE))
- log(count)
if not count:
- print "%s html not found" % (match,)
+ print("%s html not found" % match)
sys.exit(2)
+ if args.verbose:
+ print(count)
- print "all html is present."
+ print("all html is present.")
if __name__ == '__main__':
main()
diff --git a/modules/icinga/files/purge-nagios-resources.py
b/modules/icinga/files/purge-nagios-resources.py
index 798eb9f..ffad2be 100755
--- a/modules/icinga/files/purge-nagios-resources.py
+++ b/modules/icinga/files/purge-nagios-resources.py
@@ -5,8 +5,8 @@
# Written on 2010/08/14 by Mark Bergsma <[email protected]>
+import os
import os.path
-import stat
import sys
import tempfile
diff --git a/modules/mw_rc_irc/files/monitor/ircd_stats.py
b/modules/mw_rc_irc/files/monitor/ircd_stats.py
index f4838a6..9664ae4 100644
--- a/modules/mw_rc_irc/files/monitor/ircd_stats.py
+++ b/modules/mw_rc_irc/files/monitor/ircd_stats.py
@@ -1,6 +1,5 @@
import diamond.collector
import socket
-import sys
import re
@@ -32,7 +31,7 @@
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
irc.connect((self.config['server'], int(self.config['port'])))
- #making ircd happy with # of args
+ # making ircd happy with # of args
irc.send("USER %s %s %s :%s\n" % (self.config['user'],
self.config['user'],
self.config['user'],
diff --git a/modules/openstack/files/spreadcheck.py
b/modules/openstack/files/spreadcheck.py
index e192080..bcd82f2 100755
--- a/modules/openstack/files/spreadcheck.py
+++ b/modules/openstack/files/spreadcheck.py
@@ -11,7 +11,6 @@
FIXME: Find a mathematically valid definition of 'spread out enough'
and implement it
"""
-import os
import sys
import argparse
import yaml
diff --git a/modules/pybal/files/pybal_state.py
b/modules/pybal/files/pybal_state.py
index 9ed1f30..437af98 100644
--- a/modules/pybal/files/pybal_state.py
+++ b/modules/pybal/files/pybal_state.py
@@ -6,8 +6,6 @@
Diamond collector for PyBal State.
"""
-import json
-import re
import requests
import diamond.collector
diff --git a/modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py
b/modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py
index e5e5546..2dea48e 100644
--- a/modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py
+++ b/modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py
@@ -9,7 +9,6 @@
# * an existing original image
import unittest
-import urllib
import requests
diff --git a/modules/toollabs/files/gridscripts/runninggridjobsmail.py
b/modules/toollabs/files/gridscripts/runninggridjobsmail.py
index d762a62..eda3bae 100755
--- a/modules/toollabs/files/gridscripts/runninggridjobsmail.py
+++ b/modules/toollabs/files/gridscripts/runninggridjobsmail.py
@@ -13,7 +13,6 @@
'''
import yaml
-import smtplib
import subprocess
with open("jobs.yaml", 'r') as stream:
diff --git a/modules/toollabs/files/gridscripts/runninggridtasks.py
b/modules/toollabs/files/gridscripts/runninggridtasks.py
index 55cbc28..09be1f6 100755
--- a/modules/toollabs/files/gridscripts/runninggridtasks.py
+++ b/modules/toollabs/files/gridscripts/runninggridtasks.py
@@ -18,7 +18,6 @@
import itertools
import sys
import yaml
-from datetime import datetime
if len(sys.argv) == 1:
print("Usage: %s hostname [hostname ...]" % sys.argv[0])
diff --git a/modules/toollabs/files/kube2dynproxy.py
b/modules/toollabs/files/kube2dynproxy.py
index b651434..53974fe 100755
--- a/modules/toollabs/files/kube2dynproxy.py
+++ b/modules/toollabs/files/kube2dynproxy.py
@@ -3,7 +3,6 @@
import argparse
import redis
import logging
-import os
import yaml
import json
@@ -75,7 +74,7 @@
s.route = route
s.action = 'DELETED'
services.append(s)
- except ValueError as e:
+ except ValueError:
log.warning("Could not find service %s, skipping", service)
# TODO: remove it from the redis list anyways?
diff --git a/modules/toollabs/manifests/genpp/genpp.py
b/modules/toollabs/manifests/genpp/genpp.py
index 8b76ead..dc9b4d8 100644
--- a/modules/toollabs/manifests/genpp/genpp.py
+++ b/modules/toollabs/manifests/genpp/genpp.py
@@ -3,10 +3,8 @@
import functools
import os
import gzip
-import re
import sys
import logging
-import pprint
from jinja2 import Environment, FileSystemLoader
diff --git a/modules/toollabs/manifests/genpp/python.py
b/modules/toollabs/manifests/genpp/python.py
index f56dff3..bcc6dee 100755
--- a/modules/toollabs/manifests/genpp/python.py
+++ b/modules/toollabs/manifests/genpp/python.py
@@ -6,7 +6,6 @@
import genpp
import logging
-import pprint
environ_packages = {
'dev': ['coverage', 'dev', 'stdeb'],
diff --git a/modules/varnish/files/zerofetch.py
b/modules/varnish/files/zerofetch.py
index 50a04e5..310ebeb 100755
--- a/modules/varnish/files/zerofetch.py
+++ b/modules/varnish/files/zerofetch.py
@@ -9,7 +9,6 @@
# netmapper's perspective.
import os
-import string
import argparse
import tempfile
import json
diff --git a/modules/wdqs/files/monitor/wdqs_updater.py
b/modules/wdqs/files/monitor/wdqs_updater.py
index 43304ce..cf54eb6 100644
--- a/modules/wdqs/files/monitor/wdqs_updater.py
+++ b/modules/wdqs/files/monitor/wdqs_updater.py
@@ -9,7 +9,6 @@
import urllib2
import json
import subprocess
-import os
class WDQSUpdaterCollector(diamond.collector.Collector):
diff --git a/tox.ini b/tox.ini
index 5f1ccc4..056a0cf 100644
--- a/tox.ini
+++ b/tox.ini
@@ -2,10 +2,7 @@
minversion = 1.6
skipsdist = True
-envlist = py27,pep8
-
-[flake8]
-max-line-length = 100
+envlist = py27,pep8,flake8
[testenv]
deps =
@@ -13,10 +10,23 @@
-rmodules/admin/data/requirements.txt
commands = nosetests modules/admin/data
modules/mediawiki/files/apache/sites/redirects
+[testenv:flake8]
+commands = flake8 files utils modules/base modules/dataset
modules/elasticsearch modules/toollabs modules/wdqs
+deps =
+ flake8
+ pep8
+
[testenv:pep8]
commands = pep8 {posargs}
deps = pep8==1.4.6
+[flake8]
+exclude =
.git,.tox,*/ganglia/*,*/virtscripts/logstat.py,modules/librenms/files/purge.py,modules/cdh/*,modules/jmxtrans/*,modules/kafka/*,modules/kafkatee/*,modules/mariadb/*,modules/nginx/*,modules/varnishkafka/*,modules/wikimetrics/*,modules/zookeeper/*,*/ps_mem.py,modules/apache/files/apache_status.py,modules/deployment/files/runners/deploy.py,modules/deployment/files/modules/deploy.py,modules/deployment/files/returners/deploy_redis.py,modules/librenms/files/purge.py,modules/apt/files/apt2xml.py,modules/ldap/files/scripts/homedirectorymanager.py,modules/ldap/files/scripts/ldapsupportlib.py,modules/tcpircbot/files/tcpircbot.py,modules/openstack/files/*,modules/mediawiki/files/monitoring/mwerrors.py,modules/service/files/checker.py,modules/pybal/files/pybal-eval-check.py,modules/phabricator/files/phab_epipe.py,modules/labstore/files/monitor/nfsd.py,modules/swift/files/SwiftMedia/wmf/rewrite.py,modules/webperf/files/asset-check.py,modules/webperf/files/deprecate.py,modules/webperf/files/navtiming.py,modules/webperf/files/ve.py,modules/mailman/files/mm_cfg.py,modules/servermon/files/urls.py,modules/varnish/files/varnishprocessor/*,modules/hhvm/files/debug/printers.py
+
+max-line-length = 173
+# E241 multiple spaces after ':'
+ignore = E241
+
[pep8]
exclude =
.git,.tox,*/ganglia/*,*/virtscripts/logstat.py,*/modules/librenms/files/purge.py,*/modules/cdh/*,*/modules/jmxtrans/*,*/modules/kafka/*,*/modules/kafkatee/*,*/modules/mariadb/*,*/modules/nginx/*,*/modules/varnishkafka/*,*/modules/wikimetrics/*,*/modules/zookeeper/*,
--
To view, visit https://gerrit.wikimedia.org/r/263866
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9c921213e36d1d8a3aafce1cf2039172b3c882c9
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: John Vandenberg <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits