diff --git a/.gitignore b/.gitignore index d002fd583..d067a95b5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ dist src/borg/compress.c src/borg/crypto/low_level.c src/borg/item.c -src/borg/chunker.c +src/borg/chunkers/chunker.c src/borg/checksums.c src/borg/platform/darwin.c src/borg/platform/freebsd.c diff --git a/scripts/make.py b/scripts/make.py index 2c5c1bb44..ce60a4b4e 100644 --- a/scripts/make.py +++ b/scripts/make.py @@ -542,7 +542,7 @@ class BuildMan: cython_sources = """ src/borg/compress.pyx src/borg/crypto/low_level.pyx -src/borg/chunker.pyx +src/borg/chunkers/chunker.pyx src/borg/hashindex.pyx src/borg/item.pyx src/borg/checksums.pyx diff --git a/setup.py b/setup.py index e0865e70b..06c379c2c 100644 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ cflags = ["-Wall", "-Wextra", "-Wpointer-arith", "-Wno-unreachable-code-fallthro compress_source = "src/borg/compress.pyx" crypto_ll_source = "src/borg/crypto/low_level.pyx" -chunker_source = "src/borg/chunker.pyx" +chunker_source = "src/borg/chunkers/chunker.pyx" hashindex_source = "src/borg/hashindex.pyx" item_source = "src/borg/item.pyx" checksums_source = "src/borg/checksums.pyx" @@ -182,7 +182,7 @@ if not on_rtd: Extension("borg.compress", **compress_ext_kwargs), Extension("borg.hashindex", [hashindex_source], extra_compile_args=cflags), Extension("borg.item", [item_source], extra_compile_args=cflags), - Extension("borg.chunker", [chunker_source], extra_compile_args=cflags, undef_macros=["NDEBUG"]), + Extension("borg.chunkers.chunker", [chunker_source], extra_compile_args=cflags, undef_macros=["NDEBUG"]), Extension("borg.checksums", **checksums_ext_kwargs), ] diff --git a/src/borg/archive.py b/src/borg/archive.py index 6cea8ade9..462da3136 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -21,7 +21,7 @@ from .logger import create_logger logger = create_logger() from . import xattr -from .chunker import get_chunker, Chunk +from .chunkers import get_chunker, Chunk from .cache import ChunkListEntry, build_chunkindex_from_repo, delete_chunkindex_cache from .crypto.key import key_factory, UnsupportedPayloadError from .compress import CompressionSpec diff --git a/src/borg/archiver/benchmark_cmd.py b/src/borg/archiver/benchmark_cmd.py index 09f220a81..e69aa2c18 100644 --- a/src/borg/archiver/benchmark_cmd.py +++ b/src/borg/archiver/benchmark_cmd.py @@ -134,7 +134,7 @@ class BenchmarkMixIn: key_96 = os.urandom(12) import io - from ..chunker import get_chunker + from ..chunkers import get_chunker print("Chunkers =======================================================") size = "1GB" diff --git a/src/borg/archiver/transfer_cmd.py b/src/borg/archiver/transfer_cmd.py index ea3b43326..617c8abec 100644 --- a/src/borg/archiver/transfer_cmd.py +++ b/src/borg/archiver/transfer_cmd.py @@ -2,7 +2,7 @@ import argparse from ._common import with_repository, with_other_repository, Highlander from ..archive import Archive, cached_hash, DownloadPipeline -from ..chunker import get_chunker +from ..chunkers import get_chunker from ..compress import CompressionSpec from ..constants import * # NOQA from ..crypto.key import uses_same_id_hash, uses_same_chunker_secret diff --git a/src/borg/chunkers/__init__.py b/src/borg/chunkers/__init__.py new file mode 100644 index 000000000..9db8d60aa --- /dev/null +++ b/src/borg/chunkers/__init__.py @@ -0,0 +1 @@ +from .chunker import * # noqa diff --git a/src/borg/chunker.pyi b/src/borg/chunkers/chunker.pyi similarity index 100% rename from src/borg/chunker.pyi rename to src/borg/chunkers/chunker.pyi diff --git a/src/borg/chunker.pyx b/src/borg/chunkers/chunker.pyx similarity index 99% rename from src/borg/chunker.pyx rename to src/borg/chunkers/chunker.pyx index bdbb4a16e..83363e17a 100644 --- a/src/borg/chunker.pyx +++ b/src/borg/chunkers/chunker.pyx @@ -12,8 +12,8 @@ from libc.stdint cimport uint8_t, uint32_t from libc.stdlib cimport malloc, free from libc.string cimport memcpy, memmove -from .constants import CH_DATA, CH_ALLOC, CH_HOLE, zeros -from .platform import safe_fadvise +from ..constants import CH_DATA, CH_ALLOC, CH_HOLE, zeros +from ..platform import safe_fadvise # this will be True if Python's seek implementation supports data/holes seeking. # this does not imply that it will actually work on the filesystem, diff --git a/src/borg/helpers/checks.py b/src/borg/helpers/checks.py index 631709777..ba058854f 100644 --- a/src/borg/helpers/checks.py +++ b/src/borg/helpers/checks.py @@ -14,7 +14,8 @@ def check_python(): def check_extension_modules(): - from .. import platform, compress, crypto, item, chunker, hashindex + from .. import platform, compress, crypto, item, hashindex + from ..chunkers import chunker msg = """The Borg binary extension modules do not seem to be properly installed.""" if hashindex.API_VERSION != "1.2_01": diff --git a/src/borg/testsuite/archiver/extract_cmd_test.py b/src/borg/testsuite/archiver/extract_cmd_test.py index 79c27214d..1505d8860 100644 --- a/src/borg/testsuite/archiver/extract_cmd_test.py +++ b/src/borg/testsuite/archiver/extract_cmd_test.py @@ -7,7 +7,7 @@ from unittest.mock import patch import pytest from ... import xattr -from ...chunker import has_seek_hole +from ...chunkers import has_seek_hole from ...constants import * # NOQA from ...helpers import EXIT_WARNING, BackupPermissionError, bin_to_hex from ...helpers import flags_noatime, flags_normal diff --git a/src/borg/testsuite/chunker_pytest_test.py b/src/borg/testsuite/chunker_pytest_test.py index 0b61c1b57..664534db9 100644 --- a/src/borg/testsuite/chunker_pytest_test.py +++ b/src/borg/testsuite/chunker_pytest_test.py @@ -5,7 +5,16 @@ import tempfile import pytest from .chunker_test import cf -from ..chunker import Chunker, ChunkerFixed, sparsemap, has_seek_hole, ChunkerFailing, FileReader, FileFMAPReader, Chunk +from ..chunkers import ( + Chunker, + ChunkerFixed, + sparsemap, + has_seek_hole, + ChunkerFailing, + FileReader, + FileFMAPReader, + Chunk, +) from ..constants import * # NOQA BS = 4096 # fs block size diff --git a/src/borg/testsuite/chunker_slow_test.py b/src/borg/testsuite/chunker_slow_test.py index da508f266..6c6fbdcb9 100644 --- a/src/borg/testsuite/chunker_slow_test.py +++ b/src/borg/testsuite/chunker_slow_test.py @@ -2,7 +2,7 @@ from hashlib import sha256 from io import BytesIO from .chunker_test import cf -from ..chunker import Chunker +from ..chunkers import Chunker from ..constants import * # NOQA from ..helpers import hex_to_bin diff --git a/src/borg/testsuite/chunker_test.py b/src/borg/testsuite/chunker_test.py index c223b321e..aafc3527b 100644 --- a/src/borg/testsuite/chunker_test.py +++ b/src/borg/testsuite/chunker_test.py @@ -3,7 +3,7 @@ from io import BytesIO -from ..chunker import ChunkerFixed, Chunker, get_chunker, buzhash, buzhash_update +from ..chunkers import ChunkerFixed, Chunker, get_chunker, buzhash, buzhash_update from ..constants import * # NOQA from . import BaseTestCase