Commit d2cda592 authored by Matt Selsky's avatar Matt Selsky Committed by Matt Selsky

PEP8: don't use len() to tell if the sequence is empty or not

For sequences, (strings, lists, tuples), use the fact that empty sequences are
false.
parent a0d50605
Pipeline #45988695 passed with stages
in 2 minutes and 47 seconds
......@@ -26,14 +26,14 @@ leap = time.time()
days = int(leap/86400)
leap = (days+1)*86400
if len(args) > 0:
if args:
leapdate = datetime.datetime.strptime(args[0], "%Y-%m-%d")
leap = (leapdate - epoch).total_seconds()
leap = int(leap)
args = args[1:]
expire = leap + 28*86400
if len(args) > 0:
if args:
expiredate = datetime.datetime.strptime(args[0], "%Y-%m-%d")
expire = (expiredate - epoch).total_seconds()
expire = int(expire)
......
......@@ -113,7 +113,7 @@ class Ntpq(cmd.Cmd):
elif len(cmdprefixlist) > 1:
self.warn("***Command `%s' ambiguous\n" % cmd)
return
elif len(cmdprefixlist) == 0:
elif not cmdprefixlist:
self.warn("***Command `%s' unknown\n" % cmd)
return
......@@ -127,7 +127,7 @@ class Ntpq(cmd.Cmd):
elif len(argprefixlist) > 1:
self.warn("Command `%s' is ambiguous\n" % arg)
return
elif len(argprefixlist) == 0:
elif not argprefixlist:
self.warn("Command `%s' is unknown\n" % arg)
return
......@@ -178,7 +178,7 @@ usage: help [ command ]
print(e.strerror)
return False
if len(self.peers) == 0:
if not self.peers:
if self.chosts:
self.say("server=%s " % self.session.hostname)
self.say("No association IDs returned\n")
......@@ -857,7 +857,7 @@ usage: clearvars
def do_showvars(self, line):
"print variables on the variable list"
if len(self.uservars) == 0:
if not self.uservars:
print("No variables on list.")
for (name, value) in self.uservars.items():
if value:
......@@ -1666,17 +1666,17 @@ if __name__ == '__main__':
else:
interpreter.chosts.append((token, session.ai_family))
if len(arguments) == 0:
if not arguments:
interpreter.chosts.append((DEFHOST, session.ai_family))
if (len(interpreter.ccmds) == 0 and
if (not interpreter.ccmds and
not interpreter.interactive and
os.isatty(0) and
os.isatty(1)):
interpreter.interactive = True
try:
if len(interpreter.ccmds) == 0:
if not interpreter.ccmds:
if len(interpreter.chosts) > 1:
interpreter.warn(
"ntpq can only work interactively on one host.\n")
......
......@@ -69,7 +69,7 @@ class MIBControl:
if node not in currentLevel.keys():
currentLevel[node] = {"reader": None, "writer": None,
"subids": None}
if len(remainingOID) == 0: # We have reached the target node
if not remainingOID: # We have reached the target node
currentLevel[node]["reader"] = reader
currentLevel[node]["writer"] = writer
if dynamic is not None:
......@@ -207,7 +207,7 @@ class PacketControl:
# loop body split out to separate the one-shot/run-forever switches
# from the actual logic
self.packetEater()
while len(self.receivedPackets) > 0:
while self.receivedPackets:
packet = self.receivedPackets.pop(0)
if packet.sessionID != self.sessionID:
self.log(
......@@ -252,7 +252,7 @@ class PacketControl:
"Wait for a response to a specific packet, dropping everything else"
while True:
self.packetEater()
while len(self.receivedPackets) > 0:
while self.receivedPackets:
packet = self.receivedPackets.pop(0)
if packet.__class__ != ax.ResponsePDU:
continue
......@@ -352,11 +352,11 @@ class PacketControl:
data = b""
while True:
tmp = select.select([self.socket], [], [], 0)[0]
if len(tmp) == 0: # No socket, means no data available
if not tmp: # No socket, means no data available
break
tmp = tmp[0]
newdata = tmp.recv(4096) # Arbitrary value
if len(newdata) > 0:
if newdata:
self.log("Received data: %s" % repr(newdata), 5)
data += newdata
self.lastReception = time.time()
......@@ -397,7 +397,7 @@ class PacketControl:
for oidr in packet.oidranges:
while True:
oids = self.database.getOIDsInRange(oidr, True)
if len(oids) == 0: # Nothing found
if not oids: # Nothing found
binds.append(ax.Varbind(ax.VALUE_END_OF_MIB_VIEW,
oidr.start))
break
......@@ -424,7 +424,7 @@ class PacketControl:
# Handle non-repeats
for oidr in nonreps:
oids = self.database.getOIDsInRange(oidr, True)
if len(oids) == 0: # Nothing found
if not oids: # Nothing found
binds.append(ax.Varbind(ax.VALUE_END_OF_MIB_VIEW, oidr.start))
else:
oid, reader, _ = oids[0]
......@@ -432,7 +432,7 @@ class PacketControl:
# Handle repeaters
for oidr in repeats:
oids = self.database.getOIDsInRange(oidr)
if len(oids) == 0: # Nothing found
if not oids: # Nothing found
binds.append(ax.Varbind(ax.VALUE_END_OF_MIB_VIEW, oidr.start))
else:
for oid, reader, _ in oids[:packet.maxReps]:
......@@ -553,7 +553,7 @@ def walkMIBTree(tree, rootpath=()):
keyID = 0
while True:
if keyID >= len(currentKeys):
if len(nodeStack) > 0:
if nodeStack:
# No more nodes this level, pop higher node
current, currentKeys, keyID, key = nodeStack.pop()
oidStack.pop()
......
......@@ -673,7 +673,7 @@ def decode_ResponsePDU(data, header):
temp, data = slicedata(data, 8)
sysUptime, resError, resIndex = struct.unpack(endianToken + "IHH",
ntp.poly.polybytes(temp))
if len(data) > 0:
if data:
varbinds = decode_varbindlist(data, header)
else:
varbinds = None
......@@ -828,7 +828,7 @@ class OID:
raise ValueError
def isNull(self):
if (len(self.subids) == 0) and (self.include is False):
if not self.subids and self.include is False:
return True
return False
......@@ -1095,7 +1095,7 @@ def encode_searchrange_list(bigEndian, searchranges):
def decode_searchrange_list(data, header): # Cannot handle extra data
oidranges = []
while len(data) > 0:
while data:
oids, data = decode_SearchRange(data, header)
oidranges.append(oids)
return tuple(oidranges)
......@@ -1109,9 +1109,9 @@ def encode_varbindlist(bigEndian, varbinds):
def decode_varbindlist(data, header):
if len(data) > 0:
if data:
varbinds = []
while len(data) > 0:
while data:
vb, data = decode_Varbind(data, header)
varbinds.append(vb)
varbinds = tuple(varbinds)
......
......@@ -592,7 +592,7 @@ SERR_NOTRUST = "***No trusted keys have been declared"
def dump_hex_printable(xdata, outfp=sys.stdout):
"Dump a packet in hex, in a familiar hex format"
rowsize = 16
while len(xdata) > 0:
while xdata:
# Slice one row off of our data
linedata, xdata = ntp.util.slicedata(xdata, rowsize)
# Output data in hex form
......@@ -946,7 +946,7 @@ class ControlSession:
if bail >= (2*MAXFRAGS):
raise ControlException(SERR_TOOMUCH)
if len(fragments) == 0:
if not fragments:
tvo = self.primary_timeout / 1000
else:
tvo = self.secondary_timeout / 1000
......@@ -962,7 +962,7 @@ class ControlSession:
if not rd:
# Timed out. Return what we have
if len(fragments) == 0:
if not fragments:
if timeo:
raise ControlException(SERR_TIMEOUT)
if timeo:
......@@ -1014,7 +1014,7 @@ class ControlSession:
# Find the most recent fragment with a
not_earlier = [frag for frag in fragments
if frag.offset >= rpkt.offset]
if len(not_earlier):
if not_earlier:
not_earlier = not_earlier[0]
if not_earlier.offset == rpkt.offset:
warn("duplicate %d octets at %d ignored, prior "
......@@ -1023,7 +1023,7 @@ class ControlSession:
not_earlier.count, not_earlier.offset))
continue
if len(fragments) > 0:
if fragments:
last = fragments[-1]
if last.end() > rpkt.offset:
warn("received frag at %d overlaps with %d octet "
......@@ -1202,7 +1202,7 @@ class ControlSession:
elif 0 < cord < 127:
# if it isn't a special case or garbage, add it
response += c
if len(response) > 0: # The last item won't be caught by the loop
if response: # The last item won't be caught by the loop
kvpairs.append(response.strip())
items = []
for pair in kvpairs:
......
......@@ -182,9 +182,9 @@ def parseConf(text):
current[:] = []
def pushLine():
if len(current) > 0:
if current:
pushToken()
if len(tokens) > 0:
if tokens:
lines.append(tokens[:])
tokens[:] = []
......@@ -210,7 +210,7 @@ def parseConf(text):
elif text[i] in "'\"": # Starting a text string
inQuote = True
quoteStarter = text[i]
if len(current) > 0:
if current:
pushToken()
elif text[i] == "\\": # Linebreak escape
i += 1
......@@ -219,7 +219,7 @@ def parseConf(text):
elif text[i] == "\n": # EOL: break the lines
pushLine()
elif text[i] in string.whitespace:
if len(current) > 0:
if current:
pushToken()
else:
current.append(text[i])
......@@ -316,7 +316,7 @@ def gluenumberstring(above, below, isnegative):
"Glues together parts of a number string"
if above == "":
above = "0"
if len(below) > 0:
if below:
newvalue = ".".join((above, below))
else:
newvalue = above
......
......@@ -33,7 +33,7 @@ class FileJig:
self.flushed = True
def readline(self):
if len(self.readline_return) > 0:
if self.readline_return:
return self.readline_return.pop(0)
return ""
......@@ -70,7 +70,7 @@ class SocketJig:
self.connected = addr
def recv(self, bytecount):
if len(self.return_data) > 0:
if self.return_data:
current = self.return_data.pop(0)
if len(current) > bytecount:
ret = current[:bytecount]
......@@ -89,7 +89,7 @@ class HasherJig:
def update(self, data):
self.update_calls.append(data)
if len(data) > 0:
if data:
self.digest_size += 1
def digest(self):
......@@ -214,7 +214,7 @@ class SelectModuleJig:
if self.select_fail > 0:
self.select_fail -= 1
raise select.error
if len(self.do_return) == 0: # simplify code that doesn't need it
if not self.do_return: # simplify code that doesn't need it
self.do_return.append(True)
doreturn = self.do_return.pop(0)
if doreturn is True:
......
......@@ -1548,7 +1548,7 @@ class TestControlSession(unittest.TestCase):
query_fail[0] -= 1
code = query_fail_code.pop(0)
raise ctlerr("foo", errorcode=code)
if len(query_results) > 0:
if query_results:
setresponse(query_results.pop(0))
logjig = jigs.FileJig()
# Init
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment