Cleanup code: remove int/long idioms and simplify a while statement.

This commit is contained in:
Florent Xicluna 2011-10-23 22:11:00 +02:00
parent 8d48b43ea9
commit 2bb96f593a
5 changed files with 10 additions and 35 deletions

View File

@ -175,10 +175,8 @@ class FTP:
# Internal: "sanitize" a string for printing # Internal: "sanitize" a string for printing
def sanitize(self, s): def sanitize(self, s):
if s[:5] == 'pass ' or s[:5] == 'PASS ': if s[:5] in {'pass ', 'PASS '}:
i = len(s) i = len(s.rstrip('\r\n'))
while i > 5 and s[i-1] in {'\r', '\n'}:
i = i-1
s = s[:5] + '*'*(i-5) + s[i:] s = s[:5] + '*'*(i-5) + s[i:]
return repr(s) return repr(s)
@ -596,10 +594,7 @@ class FTP:
resp = self.sendcmd('SIZE ' + filename) resp = self.sendcmd('SIZE ' + filename)
if resp[:3] == '213': if resp[:3] == '213':
s = resp[3:].strip() s = resp[3:].strip()
try: return int(s)
return int(s)
except (OverflowError, ValueError):
return int(s)
def mkd(self, dirname): def mkd(self, dirname):
'''Make a directory, return its full pathname.''' '''Make a directory, return its full pathname.'''
@ -861,11 +856,7 @@ def parse150(resp):
m = _150_re.match(resp) m = _150_re.match(resp)
if not m: if not m:
return None return None
s = m.group(1) return int(m.group(1))
try:
return int(s)
except (OverflowError, ValueError):
return int(s)
_227_re = None _227_re = None

View File

@ -417,11 +417,8 @@ def _parse_num(val, type):
def _parse_int(val): def _parse_int(val):
return _parse_num(val, int) return _parse_num(val, int)
def _parse_long(val):
return _parse_num(val, int)
_builtin_cvt = { "int" : (_parse_int, _("integer")), _builtin_cvt = { "int" : (_parse_int, _("integer")),
"long" : (_parse_long, _("long integer")), "long" : (_parse_int, _("integer")),
"float" : (float, _("floating-point")), "float" : (float, _("floating-point")),
"complex" : (complex, _("complex")) } "complex" : (complex, _("complex")) }

View File

@ -510,10 +510,7 @@ def read_decimalnl_short(f):
elif s == b"01": elif s == b"01":
return True return True
try: return int(s)
return int(s)
except OverflowError:
return int(s)
def read_decimalnl_long(f): def read_decimalnl_long(f):
r""" r"""

View File

@ -141,11 +141,7 @@ class Unpacker:
data = self.__buf[i:j] data = self.__buf[i:j]
if len(data) < 4: if len(data) < 4:
raise EOFError raise EOFError
x = struct.unpack('>L', data)[0] return struct.unpack('>L', data)[0]
try:
return int(x)
except OverflowError:
return x
def unpack_int(self): def unpack_int(self):
i = self.__pos i = self.__pos

View File

@ -535,15 +535,6 @@ class Marshaller:
write("<value><nil/></value>") write("<value><nil/></value>")
dispatch[type(None)] = dump_nil dispatch[type(None)] = dump_nil
def dump_int(self, value, write):
# in case ints are > 32 bits
if value > MAXINT or value < MININT:
raise OverflowError("int exceeds XML-RPC limits")
write("<value><int>")
write(str(value))
write("</int></value>\n")
#dispatch[int] = dump_int
def dump_bool(self, value, write): def dump_bool(self, value, write):
write("<value><boolean>") write("<value><boolean>")
write(value and "1" or "0") write(value and "1" or "0")
@ -558,6 +549,9 @@ class Marshaller:
write("</int></value>\n") write("</int></value>\n")
dispatch[int] = dump_long dispatch[int] = dump_long
# backward compatible
dump_int = dump_long
def dump_double(self, value, write): def dump_double(self, value, write):
write("<value><double>") write("<value><double>")
write(repr(value)) write(repr(value))