Skip to content

Commit daa9490

Browse files
Add files via upload
1 parent 3a9c0ce commit daa9490

3 files changed

Lines changed: 16 additions & 8 deletions

File tree

catfile.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ default = CatFile
55
proname = PyCatFile
66
includedef = true
77
inmemfile = true
8+
usespoolfile = false
9+
spoolfilesize = 8388608
810

911
[CatFile]
1012
len = 7

catfile.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
"default": "CatFile",
44
"proname": "PyCatFile",
55
"includedef": "true",
6-
"inmemfile": "true"
6+
"inmemfile": "true",
7+
"usespoolfile": "false",
8+
"inmemfile": "8388608"
79
},
810
"CatFile": {
911
"len": "7",

pycatfile.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ def _is_printable(ch):
418418
__use_spooldir__ = tempfile.gettempdir()
419419
BYTES_PER_MiB = 1024 * 1024
420420
DEFAULT_SPOOL_MAX = 8 * BYTES_PER_MiB
421-
__use_spooldir__ = DEFAULT_SPOOL_MAX
421+
__spoolfile_size__ = DEFAULT_SPOOL_MAX
422422
__program_name__ = "Py"+__file_format_default__
423423
__use_env_file__ = True
424424
__use_ini_file__ = True
@@ -455,6 +455,8 @@ def decode_unicode_escape(value):
455455
__program_name__ = decode_unicode_escape(config.get('config', 'proname'))
456456
__include_defaults__ = config.getboolean('config', 'includedef')
457457
__use_inmemfile__ = config.getboolean('config', 'inmemfile')
458+
__use_spoolfile__ = config.getboolean('config', 'usespoolfile')
459+
__spoolfile_size__ = config.getint('config', 'spoolfilesize')
458460
# Loop through all sections
459461
for section in config.sections():
460462
if section == "config":
@@ -548,6 +550,8 @@ def _get(section_dict, key, default=None):
548550
__program_name__ = decode_unicode_escape(_get(cfg_config, 'proname', ''))
549551
__include_defaults__ = _to_bool(_get(cfg_config, 'includedef', False))
550552
__use_inmemfile__ = _to_bool(_get(cfg_config, 'inmemfile', False))
553+
__use_spoolfile__ = _to_bool(_get(cfg_config, 'usespoolfile', False))
554+
__spoolfile_size__ = _to_int(_get(cfg_config, 'spoolfilesize', DEFAULT_SPOOL_MAX))
551555

552556
# --- iterate format sections (everything except "config") ---
553557
required_keys = [
@@ -1977,7 +1981,7 @@ def MkTempFile(data=None,
19771981
dir=None,
19781982
suffix="",
19791983
use_spool=__use_spoolfile__,
1980-
spool_max=__use_spooldir__,
1984+
spool_max=__spoolfile_size__,
19811985
spool_dir=__use_spooldir__):
19821986
"""
19831987
Return a file-like handle with consistent behavior on Py2.7 and Py3.x.
@@ -2421,7 +2425,7 @@ class ZlibFile(object):
24212425

24222426
def __init__(self, file_path=None, fileobj=None, mode='rb', level=6, wbits=15,
24232427
encoding=None, errors=None, newline=None,
2424-
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__use_spooldir__):
2428+
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__spoolfile_size__):
24252429

24262430
if file_path is None and fileobj is None:
24272431
raise ValueError("Either file_path or fileobj must be provided")
@@ -2908,7 +2912,7 @@ class GzipFile(object):
29082912

29092913
def __init__(self, file_path=None, fileobj=None, mode='rb',
29102914
level=6, encoding=None, errors=None, newline=None,
2911-
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__use_spooldir__):
2915+
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__spoolfile_size__):
29122916

29132917
if file_path is None and fileobj is None:
29142918
raise ValueError("Either file_path or fileobj must be provided")
@@ -3354,7 +3358,7 @@ def __init__(self, file_path=None, fileobj=None, mode='rb',
33543358
level=9, encoding=None, errors=None, newline=None,
33553359
write_header=True,
33563360
tolerant_read=False, scan_bytes=(64 << 10),
3357-
spool_threshold=__use_spooldir__):
3361+
spool_threshold=__spoolfile_size__):
33583362
"""
33593363
Custom LZO file (NOT the lzop(1) format).
33603364
- streaming write/read, supports concatenated members
@@ -3829,7 +3833,7 @@ def lzop_compress_bytes(payload, level=9, text=False, **kw):
38293833

38303834

38313835
def lzop_decompress_bytes(blob, mode='rb', tolerant_read=False, scan_bytes=(64 << 10),
3832-
spool_threshold=__use_spooldir__, **kw):
3836+
spool_threshold=__spoolfile_size__, **kw):
38333837
"""
38343838
Decompress bytes produced by this custom container.
38353839
- mode='rb' -> returns bytes; mode='rt' -> returns text (set encoding/errors/newline in kw)
@@ -9797,7 +9801,7 @@ def fast_copy(infp, outfp, bufsize=1 << 20):
97979801
outfp.write(data)
97989802

97999803

9800-
def copy_file_to_mmap_dest(src_path, outfp, chunk_size=__use_spooldir__):
9804+
def copy_file_to_mmap_dest(src_path, outfp, chunk_size=__spoolfile_size__):
98019805
"""
98029806
Copy a disk file into an mmap-backed destination (FileLikeAdapter).
98039807
Falls back to buffered copy if the source cannot be mmapped.

0 commit comments

Comments
 (0)