diff --git a/.gitignore b/.gitignore index dc501569..26af5221 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ src/borg/compress.c src/borg/crypto/low_level.c src/borg/hashindex.c src/borg/item.c -src/borg/algorithms/chunker.c +src/borg/chunker.c src/borg/algorithms/checksums.c src/borg/platform/darwin.c src/borg/platform/freebsd.c diff --git a/setup.py b/setup.py index 43414503..d7746e4d 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,7 @@ from distutils.command.clean import clean compress_source = 'src/borg/compress.pyx' crypto_ll_source = 'src/borg/crypto/low_level.pyx' -chunker_source = 'src/borg/algorithms/chunker.pyx' +chunker_source = 'src/borg/chunker.pyx' hashindex_source = 'src/borg/hashindex.pyx' item_source = 'src/borg/item.pyx' checksums_source = 'src/borg/algorithms/checksums.pyx' @@ -89,7 +89,7 @@ try: self.filelist.extend([ 'src/borg/compress.c', 'src/borg/crypto/low_level.c', - 'src/borg/algorithms/chunker.c', 'src/borg/algorithms/buzhash.c', + 'src/borg/chunker.c', 'src/borg/_chunker.c', 'src/borg/hashindex.c', 'src/borg/_hashindex.c', 'src/borg/item.c', 'src/borg/algorithms/checksums.c', @@ -623,8 +623,9 @@ if not on_rtd: Extension('borg.crypto.low_level', [crypto_ll_source], libraries=crypto_libraries, include_dirs=include_dirs, library_dirs=library_dirs, define_macros=define_macros), Extension('borg.hashindex', [hashindex_source]), Extension('borg.item', [item_source]), - Extension('borg.algorithms.chunker', [chunker_source]), + Extension('borg.chunker', [chunker_source]), Extension('borg.algorithms.checksums', [checksums_source]), + ] if not sys.platform.startswith(('win32', )): ext_modules.append(Extension('borg.platform.posix', [platform_posix_source])) diff --git a/src/borg/algorithms/buzhash.c b/src/borg/_chunker.c similarity index 100% rename from src/borg/algorithms/buzhash.c rename to src/borg/_chunker.c diff --git a/src/borg/archive.py b/src/borg/archive.py index fb680d9b..1c0b4b3f 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -20,7 +20,7 @@ from .logger import create_logger logger = create_logger() from . import xattr -from .algorithms.chunker import Chunker +from .chunker import Chunker from .cache import ChunkListEntry from .crypto.key import key_factory from .compress import Compressor, CompressionSpec diff --git a/src/borg/algorithms/chunker.pyx b/src/borg/chunker.pyx similarity index 98% rename from src/borg/algorithms/chunker.pyx rename to src/borg/chunker.pyx index efe87a49..bbe47cec 100644 --- a/src/borg/algorithms/chunker.pyx +++ b/src/borg/chunker.pyx @@ -4,7 +4,7 @@ API_VERSION = '1.1_01' from libc.stdlib cimport free -cdef extern from "buzhash.c": +cdef extern from "_chunker.c": ctypedef int uint32_t ctypedef struct _Chunker "Chunker": pass diff --git a/src/borg/helpers.py b/src/borg/helpers.py index 1e79f63a..62d0f5ba 100644 --- a/src/borg/helpers.py +++ b/src/borg/helpers.py @@ -1,11 +1,11 @@ import argparse -import collections import contextlib +import collections import grp import hashlib +import logging import io import json -import logging import os import os.path import platform @@ -27,21 +27,20 @@ from datetime import datetime, timezone, timedelta from functools import partial, lru_cache from itertools import islice from operator import attrgetter -from shutil import get_terminal_size from string import Formatter +from shutil import get_terminal_size import msgpack import msgpack.fallback from .logger import create_logger - logger = create_logger() import borg.crypto.low_level from . import __version__ as borg_version from . import __version_tuple__ as borg_version_tuple +from . import chunker from . import hashindex -from .algorithms import chunker from .constants import * # NOQA diff --git a/src/borg/testsuite/chunker.py b/src/borg/testsuite/chunker.py index d18c4d0b..2a14bd60 100644 --- a/src/borg/testsuite/chunker.py +++ b/src/borg/testsuite/chunker.py @@ -1,6 +1,6 @@ from io import BytesIO -from ..algorithms.chunker import Chunker, buzhash, buzhash_update +from ..chunker import Chunker, buzhash, buzhash_update from ..constants import * # NOQA from . import BaseTestCase