improve Py2/3 compat

Change-Id: I1dfdcb88a492401851d5157c734cd708496bf004
Reviewed-on: https://forge.frm2.tum.de/review/17734
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
Enrico Faulhaber
2018-04-16 14:08:12 +02:00
parent 0d25dc35e0
commit 3b802e67c8
39 changed files with 917 additions and 1618 deletions

View File

@ -109,7 +109,7 @@ def mkthread(func, *args, **kwds):
def formatExtendedFrame(frame):
ret = []
for key, value in frame.f_locals.iteritems():
for key, value in frame.f_locals.items():
try:
valstr = repr(value)[:256]
except Exception:
@ -217,7 +217,8 @@ def tcpSocket(host, defaultport, timeout=None):
return s
def closeSocket(sock, socket=socket):
# keep a reference to socket to avoid (interpreter) shut-down problems
def closeSocket(sock, socket=socket): # pylint: disable=redefined-outer-name
"""Do our best to close a socket."""
if sock is None:
return

View File

@ -44,14 +44,12 @@ class LocalTimezone(tzinfo):
def utcoffset(self, dt):
if self._isdst(dt):
return self.DSTOFFSET
else:
return self.STDOFFSET
return self.STDOFFSET
def dst(self, dt):
if self._isdst(dt):
return self.DSTDIFF
else:
return self.ZERO
return self.ZERO
def tzname(self, dt):
return time.tzname[self._isdst(dt)]
@ -81,7 +79,7 @@ def format_time(timestamp=None):
class Timezone(tzinfo):
def __init__(self, offset, name='unknown timezone'):
def __init__(self, offset, name='unknown timezone'): # pylint: disable=W0231
self.offset = offset
self.name = name
@ -114,7 +112,7 @@ def _parse_isostring(isostring):
kw['microsecond'] = kw['microsecond'].ljust(6, '0')
_tzinfo = kw.pop('tzinfo')
if _tzinfo == 'Z':
_tzinfo = timezone.utc
_tzinfo = timezone.utc # pylint: disable=E0602
elif _tzinfo is not None:
offset_mins = int(_tzinfo[-2:]) if len(_tzinfo) > 3 else 0
offset_hours = int(_tzinfo[1:3])
@ -304,9 +302,9 @@ class ArgsParser(object):
if self.peek() == '-':
self.get()
number = self.parse_pos_int()
if number is None:
return number
return -number
if number is not None:
return -number # pylint: disable=invalid-unary-operand-type
return None
return self.parse_pos_int()
def parse_pos_int(self):
@ -314,7 +312,7 @@ class ArgsParser(object):
number = 0
if self.peek() not in self.DIGITS_CHARS:
return None
while (self.peek() in self.DIGITS_CHARS):
while self.peek() in self.DIGITS_CHARS:
number = number * 10 + int(self.get())
self.skip()
return number

View File

@ -73,7 +73,7 @@ class SequencerMixin(object):
self._seq_fault_on_error = fault_on_error
self._seq_fault_on_stop = fault_on_stop
self._seq_stopflag = False
self._seq_phase = ''
self._seq_phase = u''
self._seq_error = None
self._seq_stopped = None
@ -115,7 +115,7 @@ class SequencerMixin(object):
the default is to only go into ALARM.
"""
if self.seq_is_alive():
raise IsBusyError('move sequence already in progress')
raise IsBusyError(u'move sequence already in progress')
self._seq_stopflag = False
self._seq_error = self._seq_stopped = None
@ -128,7 +128,7 @@ class SequencerMixin(object):
def read_status(self, maxage=0):
if self.seq_is_alive():
return status.BUSY, 'moving: ' + self._seq_phase
return status.BUSY, u'moving: ' + self._seq_phase
elif self._seq_error:
if self._seq_fault_on_error:
return status.ERROR, self._seq_error
@ -137,9 +137,9 @@ class SequencerMixin(object):
if self._seq_fault_on_stop:
return status.ERROR, self._seq_stopped
return status.WARN, self._seq_stopped
if hasattr(self, 'read_hw_status'):
if hasattr(self, u'read_hw_status'):
return self.read_hw_status(maxage)
return status.OK, ''
return status.OK, u''
def do_stop(self):
if self.seq_is_alive():
@ -149,7 +149,7 @@ class SequencerMixin(object):
try:
self._seq_thread_inner(seq, store_init)
except Exception as e:
self.log.exception('unhandled error in sequence thread: %s', e)
self.log.exception(u'unhandled error in sequence thread: %s', e)
self._seq_error = str(e)
finally:
self._seq_thread = None
@ -158,11 +158,11 @@ class SequencerMixin(object):
def _seq_thread_inner(self, seq, store_init):
store = Namespace()
store.__dict__.update(store_init)
self.log.debug('sequence: starting, values %s', store_init)
self.log.debug(u'sequence: starting, values %s', store_init)
for step in seq:
self._seq_phase = step.desc
self.log.debug('sequence: entering phase: %s', step.desc)
self.log.debug(u'sequence: entering phase: %s', step.desc)
try:
i = 0
while True:
@ -170,10 +170,10 @@ class SequencerMixin(object):
result = step.func(store, *step.args)
if self._seq_stopflag:
if result:
self._seq_stopped = 'stopped while %s' % step.desc
self._seq_stopped = u'stopped while %s' % step.desc
else:
self._seq_stopped = 'stopped after %s' % step.desc
cleanup_func = step.kwds.get('cleanup', None)
self._seq_stopped = u'stopped after %s' % step.desc
cleanup_func = step.kwds.get(u'cleanup', None)
if callable(cleanup_func):
try:
cleanup_func(store, result, *step.args)
@ -187,6 +187,6 @@ class SequencerMixin(object):
i += 1
except Exception as e:
self.log.exception(
'error in sequence step %r: %s', step.desc, e)
self._seq_error = 'during %s: %s' % (step.desc, e)
u'error in sequence step %r: %s', step.desc, e)
self._seq_error = u'during %s: %s' % (step.desc, e)
break