Skip to content

Commit e1c4774

Browse files
committed
Small update
1 parent 8dd3f43 commit e1c4774

3 files changed

Lines changed: 37 additions & 84 deletions

File tree

catfile.ini

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ usememfd = true
99
usespoolfile = false
1010
spoolfilesize = 4194304
1111
filebuffsize = 262144
12+
advancedlist = true
13+
altinode = false
14+
newstyle = true
1215

1316
[CatFile]
1417
len = 7
@@ -18,9 +21,6 @@ name = CatFile
1821
magic = CatFile
1922
delimiter = \x00
2023
extension = .cat
21-
newstyle = true
22-
advancedlist = true
23-
altinode = true
2424

2525
[NekoFile]
2626
len = 8
@@ -30,9 +30,6 @@ name = NekoFile
3030
magic = NekoFile
3131
delimiter = \x00
3232
extension = .neko
33-
newstyle = true
34-
advancedlist = true
35-
altinode = true
3633

3734
[\u306d\u3053\u30d5\u30a1\u30a4\u30eb]
3835
len = 18
@@ -42,9 +39,6 @@ name = NekoFairu
4239
magic = \u306d\u3053\u30d5\u30a1\u30a4\u30eb
4340
delimiter = \x00
4441
extension = .\u306d\u3053
45-
newstyle = true
46-
advancedlist = true
47-
altinode = true
4842

4943
[\u30cd\u30b3\u30d5\u30a1\u30a4\u30eb]
5044
len = 18
@@ -54,9 +48,6 @@ name = NekoFairu
5448
magic = \u30cd\u30b3\u30d5\u30a1\u30a4\u30eb
5549
delimiter = \x00
5650
extension = .\u30CD\u30B3
57-
newstyle = true
58-
advancedlist = true
59-
altinode = true
6051

6152
[\ub124\ucf54\ud30c\uc77c]
6253
len = 12
@@ -66,9 +57,6 @@ name = NekoPa-il
6657
magic = \ub124\ucf54\ud30c\uc77c
6758
delimiter = \x00
6859
extension = .\ub124\ucf54
69-
newstyle = true
70-
advancedlist = true
71-
altinode = true
7260

7361
[\uace0\uc591\uc774\ud30c\uc77c]
7462
len = 15
@@ -78,9 +66,6 @@ name = GoyangiPa-il
7866
magic = \uace0\uc591\uc774\ud30c\uc77c
7967
delimiter = \x00
8068
extension = .\uace0\uc591\uc774
81-
newstyle = true
82-
advancedlist = true
83-
altinode = false
8469

8570
[\u5185\u9177\u6cd5\u4f0a\u9c81]
8671
len = 15
@@ -90,9 +75,6 @@ name = NeiKuFaYiLu
9075
magic = \u5185\u9177\u6cd5\u4f0a\u9c81
9176
delimiter = \x00
9277
extension = .\u5185\u9177
93-
newstyle = true
94-
advancedlist = true
95-
altinode = false
9678

9779
[\u732b\u6587\u4ef6]
9880
len = 9
@@ -102,6 +84,3 @@ name = MaoWenjian
10284
magic = \u732b\u6587\u4ef6
10385
delimiter = \x00
10486
extension = .\u732b
105-
newstyle = true
106-
advancedlist = true
107-
altinode = false

catfile.json

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
"usememfd": true,
88
"usespoolfile": false,
99
"spoolfilesize": 4194304,
10-
"filebuffsize": 262144
10+
"filebuffsize": 262144,
11+
"advancedlist": true,
12+
"altinode": false,
13+
"newstyle": true
1114
},
1215
"CatFile": {
1316
"len": 7,
@@ -16,10 +19,7 @@
1619
"name": "CatFile",
1720
"magic": "CatFile",
1821
"delimiter": "\u0000",
19-
"extension": ".cat",
20-
"newstyle": true,
21-
"advancedlist": true,
22-
"altinode": false
22+
"extension": ".cat"
2323
},
2424
"NekoFile": {
2525
"len": 8,
@@ -28,10 +28,7 @@
2828
"name": "NekoFile",
2929
"magic": "NekoFile",
3030
"delimiter": "\u0000",
31-
"extension": ".neko",
32-
"newstyle": true,
33-
"advancedlist": true,
34-
"altinode": false
31+
"extension": ".neko"
3532
},
3633
"ねこファイル": {
3734
"len": 18,
@@ -40,10 +37,7 @@
4037
"name": "NekoFairu",
4138
"magic": "ねこファイル",
4239
"delimiter": "\u0000",
43-
"extension": ".ねこ",
44-
"newstyle": true,
45-
"advancedlist": true,
46-
"altinode": false
40+
"extension": ".ねこ"
4741
},
4842
"ネコファイル": {
4943
"len": 18,
@@ -52,10 +46,7 @@
5246
"name": "NekoFairu",
5347
"magic": "ネコファイル",
5448
"delimiter": "\u0000",
55-
"extension": ".ネコ",
56-
"newstyle": true,
57-
"advancedlist": true,
58-
"altinode": false
49+
"extension": ".ネコ"
5950
},
6051
"네코파일": {
6152
"len": 12,
@@ -64,10 +55,7 @@
6455
"name": "NekoPa-il",
6556
"magic": "네코파일",
6657
"delimiter": "\u0000",
67-
"extension": ".네코",
68-
"newstyle": true,
69-
"advancedlist": true,
70-
"altinode": false
58+
"extension": ".네코"
7159
},
7260
"고양이파일": {
7361
"len": 15,
@@ -76,10 +64,7 @@
7664
"name": "GoyangiPa-il",
7765
"magic": "고양이파일",
7866
"delimiter": "\u0000",
79-
"extension": ".고양이",
80-
"newstyle": true,
81-
"advancedlist": true,
82-
"altinode": false
67+
"extension": ".고양이"
8368
},
8469
"内酷法伊鲁": {
8570
"len": 15,
@@ -88,10 +73,7 @@
8873
"name": "NeiKuFaYiLu",
8974
"magic": "内酷法伊鲁",
9075
"delimiter": "\u0000",
91-
"extension": ".内酷",
92-
"newstyle": true,
93-
"advancedlist": true,
94-
"altinode": false
76+
"extension": ".内酷"
9577
},
9678
"猫文件": {
9779
"len": 9,
@@ -100,9 +82,6 @@
10082
"name": "MaoWenjian",
10183
"magic": "猫文件",
10284
"delimiter": "\u0000",
103-
"extension": ".猫",
104-
"newstyle": true,
105-
"advancedlist": true,
106-
"altinode": false
85+
"extension": ".猫"
10786
}
10887
}

pycatfile.py

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,9 @@ def _is_printable(ch):
420420
__use_memfd__ = True
421421
__use_spoolfile__ = False
422422
__use_spooldir__ = tempfile.gettempdir()
423+
__use_new_style__ = True
424+
__use_advanced_list__ = True
425+
__use_alt_inode__ = False
423426
BYTES_PER_KiB = 1024
424427
BYTES_PER_MiB = 1024 * BYTES_PER_KiB
425428
# Spool: not tiny, but won’t blow up RAM if many are in use
@@ -467,15 +470,17 @@ def decode_unicode_escape(value):
467470
__use_memfd__ = config.getboolean('config', 'usememfd')
468471
__use_spoolfile__ = config.getboolean('config', 'usespoolfile')
469472
__spoolfile_size__ = config.getint('config', 'spoolfilesize')
473+
__use_new_style__ = config.getboolean('config', 'newstyle')
474+
__use_advanced_list__ = config.getboolean('config', 'advancedlist')
475+
__use_alt_inode__ = config.getboolean('config', 'altinode')
470476
# Loop through all sections
471477
for section in config.sections():
472478
if section == "config":
473479
continue
474480

475481
required_keys = [
476482
"len", "hex", "ver", "name",
477-
"magic", "delimiter", "extension",
478-
"newstyle", "advancedlist", "altinode"
483+
"magic", "delimiter", "extension"
479484
]
480485

481486
# Py2+Py3 compatible key presence check
@@ -495,9 +500,6 @@ def decode_unicode_escape(value):
495500
'format_hex': config.get(section, 'hex'),
496501
'format_delimiter': delim,
497502
'format_ver': config.get(section, 'ver'),
498-
'new_style': config.getboolean(section, 'newstyle'),
499-
'use_advanced_list': config.getboolean(section, 'advancedlist'),
500-
'use_alt_inode': config.getboolean(section, 'altinode'),
501503
'format_extension': decode_unicode_escape(config.get(section, 'extension')),
502504
}
503505
})
@@ -563,12 +565,14 @@ def _get(section_dict, key, default=None):
563565
__use_memfd__ = _to_bool(_get(cfg_config, 'usememfd', True))
564566
__use_spoolfile__ = _to_bool(_get(cfg_config, 'usespoolfile', False))
565567
__spoolfile_size__ = _to_int(_get(cfg_config, 'spoolfilesize', DEFAULT_SPOOL_MAX))
568+
__use_new_style__ = _to_bool(_get(cfg_config, 'usespoolfile', True))
569+
__use_advanced_list__ = _to_bool(_get(cfg_config, 'usespoolfile', True))
570+
__use_alt_inode__ = _to_bool(_get(cfg_config, 'usespoolfile', False))
566571

567572
# --- iterate format sections (everything except "config") ---
568573
required_keys = [
569574
"len", "hex", "ver", "name",
570-
"magic", "delimiter", "extension",
571-
"newstyle", "advancedlist", "altinode"
575+
"magic", "delimiter", "extension"
572576
]
573577

574578
for section_name, section in cfg.items():
@@ -586,9 +590,6 @@ def _get(section_dict, key, default=None):
586590
fmt_hex = decode_unicode_escape(_get(section, 'hex', ''))
587591
fmt_ver = decode_unicode_escape(_get(section, 'ver', ''))
588592
delim = decode_unicode_escape(_get(section, 'delimiter', ''))
589-
new_style = _to_bool(_get(section, 'newstyle', False))
590-
adv_list = _to_bool(_get(section, 'advancedlist', False))
591-
alt_inode = _to_bool(_get(section, 'altinode', False))
592593
extension = decode_unicode_escape(_get(section, 'extension', ''))
593594

594595
# keep your delimiter validation semantics
@@ -603,9 +604,6 @@ def _get(section_dict, key, default=None):
603604
'format_hex': fmt_hex,
604605
'format_delimiter': delim,
605606
'format_ver': fmt_ver,
606-
'new_style': new_style,
607-
'use_advanced_list': adv_list,
608-
'use_alt_inode': alt_inode,
609607
'format_extension': extension,
610608
}
611609
})
@@ -643,9 +641,6 @@ def _get(section_dict, key, default=None):
643641
__file_format_hex__ = __file_format_multi_dict__[__file_format_default__]['format_hex']
644642
__file_format_delimiter__ = __file_format_multi_dict__[__file_format_default__]['format_delimiter']
645643
__file_format_ver__ = __file_format_multi_dict__[__file_format_default__]['format_ver']
646-
__use_new_style__ = __file_format_multi_dict__[__file_format_default__]['new_style']
647-
__use_advanced_list__ = __file_format_multi_dict__[__file_format_default__]['use_advanced_list']
648-
__use_alt_inode__ = __file_format_multi_dict__[__file_format_default__]['use_alt_inode']
649644
__file_format_extension__ = __file_format_multi_dict__[__file_format_default__]['format_extension']
650645
__file_format_dict__ = __file_format_multi_dict__[__file_format_default__]
651646
__project__ = __program_name__
@@ -4244,7 +4239,7 @@ def ReadFileHeaderDataWithContent(fp, listonly=False, uncompress=True, skipcheck
42444239
if(not hasattr(fp, "read")):
42454240
return False
42464241
delimiter = formatspecs['format_delimiter']
4247-
if(formatspecs['new_style']):
4242+
if(__use_new_style__):
42484243
HeaderOut = ReadFileHeaderDataBySize(fp, delimiter)
42494244
else:
42504245
HeaderOut = ReadFileHeaderDataWoSize(fp, delimiter)
@@ -4402,7 +4397,7 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
44024397
return False
44034398
delimiter = formatspecs['format_delimiter']
44044399
fheaderstart = fp.tell()
4405-
if(formatspecs['new_style']):
4400+
if(__use_new_style__):
44064401
HeaderOut = ReadFileHeaderDataBySize(fp, delimiter)
44074402
else:
44084403
HeaderOut = ReadFileHeaderDataWoSize(fp, delimiter)
@@ -4624,7 +4619,7 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
46244619
return False
46254620
delimiter = formatspecs['format_delimiter']
46264621
fheaderstart = fp.tell()
4627-
if(formatspecs['new_style']):
4622+
if(__use_new_style__):
46284623
HeaderOut = ReadFileHeaderDataBySize(fp, delimiter)
46294624
else:
46304625
HeaderOut = ReadFileHeaderDataWoSize(fp, delimiter)
@@ -4849,7 +4844,7 @@ def ReadFileDataWithContent(fp, filestart=0, listonly=False, uncompress=True, sk
48494844
return False
48504845
if(formdel != formatspecs['format_delimiter']):
48514846
return False
4852-
if(formatspecs['new_style']):
4847+
if(__use_new_style__):
48534848
inheader = ReadFileHeaderDataBySize(
48544849
fp, formatspecs['format_delimiter'])
48554850
else:
@@ -4920,7 +4915,7 @@ def ReadFileDataWithContentToArray(fp, filestart=0, seekstart=0, seekend=0, list
49204915
return False
49214916
if(formdel != formatspecs['format_delimiter']):
49224917
return False
4923-
if(formatspecs['new_style']):
4918+
if(__use_new_style__):
49244919
inheader = ReadFileHeaderDataBySize(
49254920
fp, formatspecs['format_delimiter'])
49264921
else:
@@ -5171,7 +5166,7 @@ def ReadFileDataWithContentToList(fp, filestart=0, seekstart=0, seekend=0, listo
51715166
return False
51725167
if(formdel != formatspecs['format_delimiter']):
51735168
return False
5174-
if(formatspecs['new_style']):
5169+
if(__use_new_style__):
51755170
inheader = ReadFileHeaderDataBySize(
51765171
fp, formatspecs['format_delimiter'])
51775172
else:
@@ -5253,7 +5248,7 @@ def ReadFileDataWithContentToList(fp, filestart=0, seekstart=0, seekend=0, listo
52535248
il = 0
52545249
while(il < seekstart):
52555250
prefhstart = fp.tell()
5256-
if(formatspecs['new_style']):
5251+
if(__use_new_style__):
52575252
preheaderdata = ReadFileHeaderDataBySize(
52585253
fp, formatspecs['format_delimiter'])
52595254
else:
@@ -5967,8 +5962,8 @@ def AppendFileHeaderWithContent(fp, filevalues=[], extradata=[], jsondata={}, fi
59675962
def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], jsondata={}, compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, followlink=False, checksumtype=["md5", "md5", "md5", "md5", "md5"], formatspecs=__file_format_dict__, saltkey=None, verbose=False):
59685963
if(not hasattr(fp, "write")):
59695964
return False
5970-
advancedlist = formatspecs['use_advanced_list']
5971-
altinode = formatspecs['use_alt_inode']
5965+
advancedlist = __use_advanced_list__
5966+
altinode = __use_alt_inode__
59725967
if(verbose):
59735968
logging.basicConfig(format="%(message)s",
59745969
stream=PY_STDOUT_TEXT, level=logging.DEBUG)
@@ -9719,7 +9714,7 @@ def CatFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_form
97199714
return False
97209715
if(formdel != formatspecs['format_delimiter']):
97219716
return False
9722-
if(formatspecs['new_style']):
9717+
if(__use_new_style__):
97239718
inheader = ReadFileHeaderDataBySize(fp, formatspecs['format_delimiter'])
97249719
else:
97259720
inheader = ReadFileHeaderDataWoSize(fp, formatspecs['format_delimiter'])
@@ -9805,7 +9800,7 @@ def CatFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_form
98059800
# Iterate either until EOF (seektoend) or fixed count
98069801
while (fp.tell() < CatSizeEnd) if seektoend else (il < fnumfiles):
98079802
outfhstart = fp.tell()
9808-
if(formatspecs['new_style']):
9803+
if(__use_new_style__):
98099804
inheaderdata = ReadFileHeaderDataBySize(fp, formatspecs['format_delimiter'])
98109805
else:
98119806
inheaderdata = ReadFileHeaderDataWoSize(fp, formatspecs['format_delimiter'])

0 commit comments

Comments
 (0)