Skip to content

Commit 4cb08ac

Browse files
Add files via upload
1 parent 1016b0b commit 4cb08ac

3 files changed

Lines changed: 16 additions & 8 deletions

File tree

archivefile.ini

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

911
[ArchiveFile]
1012
len = 11

archivefile.json

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

pyarchivefile.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 = [
@@ -1970,7 +1974,7 @@ def MkTempFile(data=None,
19701974
dir=None,
19711975
suffix="",
19721976
use_spool=__use_spoolfile__,
1973-
spool_max=__use_spooldir__,
1977+
spool_max=__spoolfile_size__,
19741978
spool_dir=__use_spooldir__):
19751979
"""
19761980
Return a file-like handle with consistent behavior on Py2.7 and Py3.x.
@@ -2414,7 +2418,7 @@ class ZlibFile(object):
24142418

24152419
def __init__(self, file_path=None, fileobj=None, mode='rb', level=6, wbits=15,
24162420
encoding=None, errors=None, newline=None,
2417-
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__use_spooldir__):
2421+
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__spoolfile_size__):
24182422

24192423
if file_path is None and fileobj is None:
24202424
raise ValueError("Either file_path or fileobj must be provided")
@@ -2901,7 +2905,7 @@ class GzipFile(object):
29012905

29022906
def __init__(self, file_path=None, fileobj=None, mode='rb',
29032907
level=6, encoding=None, errors=None, newline=None,
2904-
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__use_spooldir__):
2908+
tolerant_read=False, scan_bytes=(64 << 10), spool_threshold=__spoolfile_size__):
29052909

29062910
if file_path is None and fileobj is None:
29072911
raise ValueError("Either file_path or fileobj must be provided")
@@ -3347,7 +3351,7 @@ def __init__(self, file_path=None, fileobj=None, mode='rb',
33473351
level=9, encoding=None, errors=None, newline=None,
33483352
write_header=True,
33493353
tolerant_read=False, scan_bytes=(64 << 10),
3350-
spool_threshold=__use_spooldir__):
3354+
spool_threshold=__spoolfile_size__):
33513355
"""
33523356
Custom LZO file (NOT the lzop(1) format).
33533357
- streaming write/read, supports concatenated members
@@ -3822,7 +3826,7 @@ def lzop_compress_bytes(payload, level=9, text=False, **kw):
38223826

38233827

38243828
def lzop_decompress_bytes(blob, mode='rb', tolerant_read=False, scan_bytes=(64 << 10),
3825-
spool_threshold=__use_spooldir__, **kw):
3829+
spool_threshold=__spoolfile_size__, **kw):
38263830
"""
38273831
Decompress bytes produced by this custom container.
38283832
- mode='rb' -> returns bytes; mode='rt' -> returns text (set encoding/errors/newline in kw)
@@ -9789,7 +9793,7 @@ def fast_copy(infp, outfp, bufsize=1 << 20):
97899793
outfp.write(data)
97909794

97919795

9792-
def copy_file_to_mmap_dest(src_path, outfp, chunk_size=__use_spooldir__):
9796+
def copy_file_to_mmap_dest(src_path, outfp, chunk_size=__spoolfile_size__):
97939797
"""
97949798
Copy a disk file into an mmap-backed destination (FileLikeAdapter).
97959799
Falls back to buffered copy if the source cannot be mmapped.

0 commit comments

Comments
 (0)