aboutsummaryrefslogtreecommitdiff
path: root/rp
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-11-11 03:22:38 +0000
committerRob Austein <sra@hactrn.net>2015-11-11 03:22:38 +0000
commit9f6d6462a9cef37735a9d4c61921d04934fd9864 (patch)
treee5d1b046f6f6bd44faf1b5028f6f1df9698e2a88 /rp
parentac415cdd0f88f8479975627772dd0a84797b261a (diff)
Configure pylint to use the pylint-django plugin, which (mostly)
understands Django's exotic metaclasses, which in turn allows us to re-enable a number of pylint checks we had disabled. While we were at this, stripped out a bunch of old pylint pragmas, then added back the subset that were really needed. As usual with pylint, this turned up a few real bugs along with an awful lot of noise. svn path=/branches/tk705/; revision=6162
Diffstat (limited to 'rp')
-rwxr-xr-xrp/rcynic/rcynic-cron2
-rwxr-xr-xrp/rcynic/rcynic-html6
-rwxr-xr-xrp/rcynic/rcynic-svn1
-rwxr-xr-xrp/utils/find_roa16
-rwxr-xr-xrp/utils/print_roa9
-rwxr-xr-xrp/utils/scan_roas7
-rwxr-xr-xrp/utils/uri2
7 files changed, 26 insertions, 17 deletions
diff --git a/rp/rcynic/rcynic-cron b/rp/rcynic/rcynic-cron
index 3d38726c..d1f96422 100755
--- a/rp/rcynic/rcynic-cron
+++ b/rp/rcynic/rcynic-cron
@@ -52,7 +52,7 @@ def run(*cmd, **kwargs):
os.setuid(pw.pw_uid)
os.closerange(3, os.sysconf("SC_OPEN_MAX"))
os.execvp(cmd[0], cmd)
- os._exit(1)
+ os._exit(1) # pylint: disable=W0212
else:
status = os.waitpid(pid, 0)[1]
if status == 0:
diff --git a/rp/rcynic/rcynic-html b/rp/rcynic/rcynic-html
index 012bccad..154193b2 100755
--- a/rp/rcynic/rcynic-html
+++ b/rp/rcynic/rcynic-html
@@ -41,7 +41,7 @@ args = None
def parse_options():
- global args
+ global args # pylint: disable=W0603
parser = argparse.ArgumentParser(description = __doc__)
parser.add_argument("--refresh", type = int, default = 1800,
@@ -157,6 +157,8 @@ class Validation_Status(object):
class Problem_Mixin(object):
+ # pylint: disable=E1101
+
@property
def connection_problems(self):
result = [v for v in self.validation_status if v.is_connection_problem]
@@ -595,7 +597,7 @@ class HTML(object):
def main():
- global session
+ global session # pylint: disable=W0603
os.putenv("TZ", "UTC")
time.tzset()
diff --git a/rp/rcynic/rcynic-svn b/rp/rcynic/rcynic-svn
index a9417d8d..3c59116a 100755
--- a/rp/rcynic/rcynic-svn
+++ b/rp/rcynic/rcynic-svn
@@ -171,6 +171,7 @@ run(*cmd, cwd = args.working_directory)
# files have been deleted, and tell Subversion that we deleted them
# intentionally.
+# pylint: disable=E1101
missing = sorted(entry.get("path")
for entry in runxml("svn", "status", "--xml", args.working_directory).find("target").findall("entry")
if entry.find("wc-status").get("item") == "missing")
diff --git a/rp/utils/find_roa b/rp/utils/find_roa
index 15a2f25f..8b962d9c 100755
--- a/rp/utils/find_roa
+++ b/rp/utils/find_roa
@@ -61,7 +61,7 @@ class Prefix(object):
if self.prefix & ((1 << (self.prefix.bits - self.length)) - 1) != 0:
raise ValueError
- def matches(self, roa): # pylint: disable=W0621
+ def matches(self, roa): # pylint: disable=W0621
return any(self.prefix == prefix and
self.length == length and
(not args.match_maxlength or
@@ -77,9 +77,9 @@ class ROA(rpki.POW.ROA): # pylint: disable=W0232
"""
@classmethod
- def parse(cls, fn): # pylint: disable=W0621
+ def parse(cls, fn): # pylint: disable=W0621
assert fn.startswith(args.rcynic_dir)
- self = cls.derReadFile(fn)
+ self = cls.derReadFile(fn) # pylint: disable=E1101
self.fn = fn
self.extractWithoutVerifying()
v4, v6 = self.getPrefixes()
@@ -88,17 +88,18 @@ class ROA(rpki.POW.ROA): # pylint: disable=W0232
@property
def uri(self):
- return filename_to_uri(self.fn)
+ return filename_to_uri(self.fn) # pylint: disable=E1101
@property
def formatted_prefixes(self):
- for prefix in self.prefixes:
+ for prefix in self.prefixes: # pylint: disable=E1101
if prefix[2] is None or prefix[1] == prefix[2]:
yield "%s/%d" % (prefix[0], prefix[1])
else:
yield "%s/%d-%d" % (prefix[0], prefix[1], prefix[2])
def __str__(self):
+ # pylint: disable=E1101
prefixes = " ".join(self.formatted_prefixes)
plural = "es" if " " in prefixes else ""
if args.show_inception:
@@ -107,12 +108,13 @@ class ROA(rpki.POW.ROA): # pylint: disable=W0232
return "ASN %s prefix%s %s" % (self.getASID(), plural, prefixes)
def show(self):
+ # pylint: disable=E1101
print "%s %s" % (self, self.fn if args.show_filenames else self.uri)
def show_expiration(self):
print self
- x = self.certs()[0]
- fn = self.fn # pylint: disable=W0621
+ x = self.certs()[0] # pylint: disable=E1101
+ fn = self.fn # pylint: disable=E1101,W0621
uri = self.uri
while uri is not None:
name = fn if args.show_filenames else uri
diff --git a/rp/utils/print_roa b/rp/utils/print_roa
index 78ae244f..dd13447d 100755
--- a/rp/utils/print_roa
+++ b/rp/utils/print_roa
@@ -26,6 +26,9 @@ import rpki.POW
class ROA(rpki.POW.ROA): # pylint: disable=W0232
+ v4_prefixes = None
+ v6_prefixes = None
+
@staticmethod
def _format_prefix(p):
if p[2] in (None, p[1]):
@@ -34,8 +37,8 @@ class ROA(rpki.POW.ROA): # pylint: disable=W0232
return "%s/%d-%d" % (p[0], p[1], p[2])
def parse(self):
- self.extractWithoutVerifying()
- v4, v6 = self.getPrefixes()
+ self.extractWithoutVerifying() # pylint: disable=E1101
+ v4, v6 = self.getPrefixes() # pylint: disable=E1101
self.v4_prefixes = [self._format_prefix(p) for p in (v4 or ())]
self.v6_prefixes = [self._format_prefix(p) for p in (v6 or ())]
@@ -43,7 +46,7 @@ parser = argparse.ArgumentParser(description = __doc__)
parser.add_argument("-b", "--brief", action = "store_true", help = "show only ASN and prefix(es)")
parser.add_argument("-c", "--cms", action = "store_true", help = "print text representation of entire CMS blob")
parser.add_argument("-s", "--signing-time", action = "store_true", help = "show SigningTime in brief mode")
-parser.add_argument("roas", nargs = "+", type = ROA.derReadFile, help = "ROA(s) to print")
+parser.add_argument("roas", nargs = "+", type = ROA.derReadFile, help = "ROA(s) to print") # pylint: disable=E1101
args = parser.parse_args()
for roa in args.roas:
diff --git a/rp/utils/scan_roas b/rp/utils/scan_roas
index f4489f32..689d1365 100755
--- a/rp/utils/scan_roas
+++ b/rp/utils/scan_roas
@@ -34,14 +34,14 @@ def check_dir(d):
class ROA(rpki.POW.ROA): # pylint: disable=W0232
@classmethod
- def parse(cls, fn): # pylint: disable=W0621
- self = cls.derReadFile(fn)
+ def parse(cls, fn): # pylint: disable=W0621
+ self = cls.derReadFile(fn) # pylint: disable=E1101
self.extractWithoutVerifying()
return self
@property
def prefixes(self):
- v4, v6 = self.getPrefixes()
+ v4, v6 = self.getPrefixes() # pylint: disable=E1101
for prefix, length, maxlength in (v4 or ()) + (v6 or ()):
if maxlength is None or length == maxlength:
yield "%s/%d" % (prefix, length)
@@ -49,6 +49,7 @@ class ROA(rpki.POW.ROA): # pylint: disable=W0232
yield "%s/%d-%d" % (prefix, length, maxlength)
def __str__(self):
+ # pylint: disable=E1101
return "%s %s %s" % (self.signingTime(), self.getASID(), " ".join(self.prefixes))
parser = argparse.ArgumentParser(description = __doc__)
diff --git a/rp/utils/uri b/rp/utils/uri
index 4fecf73a..65ca117b 100755
--- a/rp/utils/uri
+++ b/rp/utils/uri
@@ -46,7 +46,7 @@ class Certificate(object):
def __init__(self, fn):
try:
x = rpki.POW.X509.derReadFile(fn)
- except: # pylint: disable=W0702
+ except:
try:
cms = rpki.POW.CMS.derReadFile(fn)
cms.extractWithoutVerifying()