@@ -285,23 +285,38 @@ def get_default_threads():
285285if os .path .exists (__config_file__ ) and __use_ini_file__ :
286286 config = configparser .ConfigParser ()
287287 config .read (__config_file__ )
288+ __use_alt_format__ = config .getboolean ('config' , 'usealt' )
288289 def decode_unicode_escape (value ):
289290 if sys .version_info [0 ] < 3 : # Python 2
290291 return value .decode ('unicode_escape' )
291292 else : # Python 3
292293 return bytes (value , 'UTF-8' ).decode ('unicode_escape' )
293- __file_format_name__ = config .get ('main' , 'name' )
294- __program_name__ = config .get ('main' , 'proname' )
295- __file_format_lower__ = config .get ('main' , 'lower' )
296- __file_format_magic__ = decode_unicode_escape (config .get ('main' , 'magic' ))
297- __file_format_len__ = config .getint ('main' , 'len' )
298- __file_format_hex__ = config .get ('main' , 'hex' )
299- __file_format_delimiter__ = decode_unicode_escape (config .get ('main' , 'delimiter' ))
300- __file_format_ver__ = config .get ('main' , 'ver' )
301- __use_new_style__ = config .getboolean ('main' , 'newstyle' )
302- __use_advanced_list__ = config .getboolean ('main' , 'advancedlist' )
303- __use_alt_inode__ = config .getboolean ('main' , 'altinode' )
304- __file_format_extension__ = config .get ('main' , 'extension' )
294+ if not __use_alt_format__ :
295+ __file_format_name__ = config .get ('main' , 'name' )
296+ __program_name__ = config .get ('main' , 'proname' )
297+ __file_format_lower__ = config .get ('main' , 'lower' )
298+ __file_format_magic__ = decode_unicode_escape (config .get ('main' , 'magic' ))
299+ __file_format_len__ = config .getint ('main' , 'len' )
300+ __file_format_hex__ = config .get ('main' , 'hex' )
301+ __file_format_delimiter__ = decode_unicode_escape (config .get ('main' , 'delimiter' ))
302+ __file_format_ver__ = config .get ('main' , 'ver' )
303+ __use_new_style__ = config .getboolean ('main' , 'newstyle' )
304+ __use_advanced_list__ = config .getboolean ('main' , 'advancedlist' )
305+ __use_alt_inode__ = config .getboolean ('main' , 'altinode' )
306+ __file_format_extension__ = config .get ('main' , 'extension' )
307+ else :
308+ __file_format_name__ = config .get ('alt' , 'name' )
309+ __program_name__ = config .get ('alt' , 'proname' )
310+ __file_format_lower__ = config .get ('alt' , 'lower' )
311+ __file_format_magic__ = decode_unicode_escape (config .get ('alt' , 'magic' ))
312+ __file_format_len__ = config .getint ('alt' , 'len' )
313+ __file_format_hex__ = config .get ('alt' , 'hex' )
314+ __file_format_delimiter__ = decode_unicode_escape (config .get ('alt' , 'delimiter' ))
315+ __file_format_ver__ = config .get ('alt' , 'ver' )
316+ __use_new_style__ = config .getboolean ('alt' , 'newstyle' )
317+ __use_advanced_list__ = config .getboolean ('alt' , 'advancedlist' )
318+ __use_alt_inode__ = config .getboolean ('alt' , 'altinode' )
319+ __file_format_extension__ = config .get ('alt' , 'extension' )
305320else :
306321 if not __use_alt_format__ :
307322 # Format Info by Kazuki Przyborowski
@@ -310,8 +325,7 @@ def decode_unicode_escape(value):
310325 __file_format_lower__ = __file_format_name__ .lower ()
311326 __file_format_magic__ = __file_format_name__
312327 __file_format_len__ = len (__file_format_magic__ .encode ('utf-8' ))
313- __file_format_hex__ = binascii .hexlify (
314- __file_format_magic__ .encode ("UTF-8" )).decode ("UTF-8" )
328+ __file_format_hex__ = binascii .hexlify (__file_format_magic__ .encode ("UTF-8" )).decode ("UTF-8" )
315329 __file_format_delimiter__ = "\x00 "
316330 __file_format_ver__ = "001"
317331 __use_new_style__ = True
@@ -325,8 +339,7 @@ def decode_unicode_escape(value):
325339 __file_format_magic__ = "ねこファイル"
326340 #__file_format_magic__ = "네코파일"
327341 __file_format_len__ = len (__file_format_magic__ .encode ('utf-8' ))
328- __file_format_hex__ = binascii .hexlify (
329- __file_format_magic__ .encode ("UTF-8" )).decode ("UTF-8" )
342+ __file_format_hex__ = binascii .hexlify (__file_format_magic__ .encode ("UTF-8" )).decode ("UTF-8" )
330343 __file_format_delimiter__ = "\x00 "
331344 __file_format_ver__ = "001"
332345 __use_new_style__ = True
@@ -2267,14 +2280,15 @@ def ReadFileHeaderDataBySize(fp, delimiter=__file_format_dict__['format_delimite
22672280 headersize = int (preheaderdata [0 ], 16 )
22682281 if (headersize <= 0 ):
22692282 return []
2270- headercontent = str (fp .read (headersize ).decode ('UTF-8' )).split (delimiter )
2283+ subfp = BytesIO ()
2284+ subfp .write (fp .read (headersize ))
22712285 fp .seek (len (delimiter ), 1 )
2272- rocount = 0
2273- roend = int ( len ( headercontent ) )
2274- HeaderOut = preheaderdata
2275- while ( rocount < roend ):
2276- HeaderOut . append ( headercontent [ rocount ])
2277- rocount = rocount + 1
2286+ subfp . seek ( 0 , 0 )
2287+ prealtheaderdata = ReadFileHeaderData ( subfp , 1 , delimiter )
2288+ headernumfields = int ( prealtheaderdata [ 0 ], 16 )
2289+ headerdata = ReadTillNullByteByNum ( subfp , delimiter , headernumfields )
2290+ HeaderOut = preheaderdata + prealtheaderdata + headerdata
2291+ subfp . close ()
22782292 return HeaderOut
22792293
22802294
0 commit comments