4747import os
4848import sys
4949
50- from compat import asbytes , asstr
50+ from numpy . compat . py3k import asbytes , asstr
5151
5252
5353class _DeprecatedParam (object ):
@@ -132,7 +132,7 @@ def _decode_record(self, s, line=0):
132132 if record_type == 0 :
133133 # data record
134134 addr += self ._offset
135- for i in xrange (4 , 4 + record_length ):
135+ for i in range (4 , 4 + record_length ):
136136 if not self ._buf .get (addr , None ) is None :
137137 raise AddressOverlapError (address = addr , line = line )
138138 self ._buf [addr ] = bin [i ]
@@ -319,12 +319,12 @@ def tobinarray(self, start=None, end=None, pad=_DEPRECATED, size=None):
319319 @return array of unsigned char data.
320320 '''
321321 if not isinstance (pad , _DeprecatedParam ):
322- print "IntelHex.tobinarray: 'pad' parameter is deprecated."
322+ print ( "IntelHex.tobinarray: 'pad' parameter is deprecated." )
323323 if pad is not None :
324- print "Please, use IntelHex.padding attribute instead."
324+ print ( "Please, use IntelHex.padding attribute instead." )
325325 else :
326- print "Please, don't pass it explicitly."
327- print "Use syntax like this: ih.tobinarray(start=xxx, end=yyy, size=zzz)"
326+ print ( "Please, don't pass it explicitly." )
327+ print ( "Use syntax like this: ih.tobinarray(start=xxx, end=yyy, size=zzz)" )
328328 else :
329329 pad = None
330330 return self ._tobinarray_really (start , end , pad , size )
@@ -343,7 +343,7 @@ def _tobinarray_really(self, start, end, pad, size):
343343
344344 start , end = self ._get_start_end (start , end , size )
345345
346- for i in xrange (start , end + 1 ):
346+ for i in range (start , end + 1 ):
347347 bin .append (self ._buf .get (i , pad ))
348348
349349 return bin
@@ -359,12 +359,12 @@ def tobinstr(self, start=None, end=None, pad=_DEPRECATED, size=None):
359359 @return string of binary data.
360360 '''
361361 if not isinstance (pad , _DeprecatedParam ):
362- print "IntelHex.tobinstr: 'pad' parameter is deprecated."
362+ print ( "IntelHex.tobinstr: 'pad' parameter is deprecated." )
363363 if pad is not None :
364- print "Please, use IntelHex.padding attribute instead."
364+ print ( "Please, use IntelHex.padding attribute instead." )
365365 else :
366- print "Please, don't pass it explicitly."
367- print "Use syntax like this: ih.tobinstr(start=xxx, end=yyy, size=zzz)"
366+ print ( "Please, don't pass it explicitly." )
367+ print ( "Use syntax like this: ih.tobinstr(start=xxx, end=yyy, size=zzz)" )
368368 else :
369369 pad = None
370370 return self ._tobinstr_really (start , end , pad , size )
@@ -384,12 +384,12 @@ def tobinfile(self, fobj, start=None, end=None, pad=_DEPRECATED, size=None):
384384 @param size size of the block, used with start or end parameter.
385385 '''
386386 if not isinstance (pad , _DeprecatedParam ):
387- print "IntelHex.tobinfile: 'pad' parameter is deprecated."
387+ print ( "IntelHex.tobinfile: 'pad' parameter is deprecated." )
388388 if pad is not None :
389- print "Please, use IntelHex.padding attribute instead."
389+ print ( "Please, use IntelHex.padding attribute instead." )
390390 else :
391- print "Please, don't pass it explicitly."
392- print "Use syntax like this: ih.tobinfile(start=xxx, end=yyy, size=zzz)"
391+ print ( "Please, don't pass it explicitly." )
392+ print ( "Use syntax like this: ih.tobinfile(start=xxx, end=yyy, size=zzz)" )
393393 else :
394394 pad = None
395395 if getattr (fobj , "write" , None ) is None :
@@ -461,7 +461,7 @@ def __getitem__(self, addr):
461461 start = addr .start or addresses [0 ]
462462 stop = addr .stop or (addresses [- 1 ]+ 1 )
463463 step = addr .step or 1
464- for i in xrange (start , stop , step ):
464+ for i in range (start , stop , step ):
465465 x = self ._buf .get (i )
466466 if x is not None :
467467 ih [i ] = x
@@ -498,7 +498,7 @@ def __setitem__(self, addr, byte):
498498 if stop < 0 :
499499 raise TypeError ('stop address cannot be negative' )
500500 j = 0
501- for i in xrange (start , stop , step ):
501+ for i in range (start , stop , step ):
502502 self ._buf [i ] = byte [j ]
503503 j += 1
504504 else :
@@ -518,7 +518,7 @@ def __delitem__(self, addr):
518518 start = addr .start or addresses [0 ]
519519 stop = addr .stop or (addresses [- 1 ]+ 1 )
520520 step = addr .step or 1
521- for i in xrange (start , stop , step ):
521+ for i in range (start , stop , step ):
522522 x = self ._buf .get (i )
523523 if x is not None :
524524 del self ._buf [i ]
@@ -706,7 +706,7 @@ def gets(self, addr, length):
706706 be raised. Padding is not used."""
707707 a = array ('B' , asbytes ('\0 ' * length ))
708708 try :
709- for i in xrange (length ):
709+ for i in range (length ):
710710 a [i ] = self ._buf [addr + i ]
711711 except KeyError :
712712 raise NotEnoughDataError (address = addr , length = length )
@@ -717,7 +717,7 @@ def puts(self, addr, s):
717717 entries.
718718 """
719719 a = array ('B' , asbytes (s ))
720- for i in xrange (len (a )):
720+ for i in range (len (a )):
721721 self ._buf [addr + i ] = a [i ]
722722
723723 def getsz (self , addr ):
@@ -772,7 +772,7 @@ def dump(self, tofile=None):
772772 maxdigits = max (len (str (endaddr )), 4 )
773773 templa = '%%0%dX' % maxdigits
774774 range16 = range (16 )
775- for i in xrange (startaddr , endaddr , 16 ):
775+ for i in range (startaddr , endaddr , 16 ):
776776 tofile .write (templa % i )
777777 tofile .write (' ' )
778778 s = []
@@ -941,7 +941,7 @@ def tobinarray(self, start=None, end=None, size=None):
941941
942942 start , end = self ._get_start_end (start , end , size )
943943
944- for addr in xrange (start , end + 1 ):
944+ for addr in range (start , end + 1 ):
945945 bin .append (self [addr ])
946946
947947 return bin
@@ -963,7 +963,7 @@ def hex2bin(fin, fout, start=None, end=None, size=None, pad=None):
963963 """
964964 try :
965965 h = IntelHex (fin )
966- except HexReaderError , e :
966+ except HexReaderError as e :
967967 txt = "ERROR: bad HEX file: %s" % str (e )
968968 print (txt )
969969 return 1
@@ -985,7 +985,7 @@ def hex2bin(fin, fout, start=None, end=None, size=None, pad=None):
985985 # using .padding attribute rather than pad argument to function call
986986 h .padding = pad
987987 h .tobinfile (fout , start , end )
988- except IOError , e :
988+ except IOError as e :
989989 txt = "ERROR: Could not write to file: %s: %s" % (fout , str (e ))
990990 print (txt )
991991 return 1
@@ -1005,14 +1005,14 @@ def bin2hex(fin, fout, offset=0):
10051005 h = IntelHex ()
10061006 try :
10071007 h .loadbin (fin , offset )
1008- except IOError , e :
1008+ except IOError as e :
10091009 txt = 'ERROR: unable to load bin file:' , str (e )
10101010 print (txt )
10111011 return 1
10121012
10131013 try :
10141014 h .tofile (fout , format = 'hex' )
1015- except IOError , e :
1015+ except IOError as e :
10161016 txt = "ERROR: Could not write to file: %s: %s" % (fout , str (e ))
10171017 print (txt )
10181018 return 1
@@ -1215,7 +1215,7 @@ def __str__(self):
12151215 return self .msg
12161216 try :
12171217 return self ._fmt % self .__dict__
1218- except (NameError , ValueError , KeyError ), e :
1218+ except (NameError , ValueError , KeyError ) as e :
12191219 return 'Unprintable exception %s: %s' \
12201220 % (repr (e ), str (e ))
12211221
0 commit comments