@@ -651,62 +651,64 @@ def enip_format( data, sort_keys=False, indent=4 ):
651651 enip_format attempting to decode str as utf-8.
652652
653653 """
654- pairs = data .items ()
654+ assert isinstance ( data , dict ), \
655+ "Unknown data type {data!r}" .format ( data = data )
656+ pairs = data .items ()
655657 if sort_keys :
656- pairs = sorted ( pairs )
657- prefix = ' ' * indent
658- newline = '\n ' + prefix
659- result = '{'
658+ pairs = sorted ( pairs )
659+ prefix = ' ' * indent
660+ newline = '\n ' + prefix
661+ result = '{'
660662 for key ,val in pairs :
661- result += newline + "{key:32}" .format ( key = repr ( key ) + ': ' )
663+ result += newline + "{key:32}" .format ( key = repr ( key ) + ': ' )
662664 if isinstance ( val , bytes ) and sys .version_info [0 ] < 3 : # Python2: str; very ambiguous
663665 if not any ( c < ' ' or c > '~' for c in val ):
664666 result += repr ( val ) + ',' # '...',
665667 continue
666668 try :
667669 if not any ( c < ' ' for c in val ):
668- result += repr ( val .decode ( 'utf-8' )) + ',' # Python2: u"...", Python3: "..."
670+ result += repr ( val .decode ( 'utf-8' )) + ',' # Python2: u"...", Python3: "..."
669671 continue
670672 except :
671673 pass
672674 # Probably binary data in bytes; fall thru...
673675 try :
674- binary = octets_encode ( val )
676+ binary = octets_encode ( val )
675677 except :
676678 pass
677679 else :
678680 # Yes, some binary data container
679681 if isinstance ( val , array .array ):
680- beg ,end = 'array( {val.typecode!r}, ' .format ( val = val ),')'
682+ beg ,end = 'array( {val.typecode!r}, ' .format ( val = val ),')'
681683 elif isinstance ( val , bytearray ):
682- beg ,end = 'bytearray(' ,')'
684+ beg ,end = 'bytearray(' ,')'
683685 else :
684- beg ,end = 'bytes(' ,')'
685- result += "{beg}hexload('''" .format ( beg = beg )
686- result += '' .join ( newline + prefix + row for row in misc .hexdumper ( val ))
687- result += newline + "'''){end}," .format ( end = end )
686+ beg ,end = 'bytes(' ,')'
687+ result += "{beg}hexload('''" .format ( beg = beg )
688+ result += '' .join ( newline + prefix + row for row in misc .hexdumper ( val ))
689+ result += newline + "'''){end}," .format ( end = end )
688690 continue
689691
690692 if is_listlike ( val ) and len ( val ) > 10 :
691693 # Try to tabularize large lists of data
692694 try :
693- beg ,end = getattr ( getattr ( val , '__class__' ), '__name__' ) + '(' ,')'
695+ beg ,end = getattr ( getattr ( val , '__class__' ), '__name__' ) + '(' ,')'
694696 except :
695697 pass
696698 else :
697- result += beg
699+ result += beg
698700 for i ,v in enumerate ( val ):
699701 if i % 10 == 0 :
700702 result += newline + prefix
701- fmt = "{v:<8}" if isinstance ( v , type_str_base ) else "{v:>8}"
702- result += fmt .format ( v = repr ( v )+ ',' )
703- result += newline + end + ','
703+ fmt = "{v:<8}" if isinstance ( v , type_str_base ) else "{v:>8}"
704+ result += fmt .format ( v = repr ( v )+ ',' )
705+ result += newline + end + ','
704706 continue
705707
706708 # Other data types
707- result += repr ( val )
708- result += ','
709- result += '\n }'
709+ result += repr ( val )
710+ result += ','
711+ result += '\n }'
710712 return result
711713
712714#
0 commit comments