diff --git a/CHANGELOG.md b/CHANGELOG.md index d962176..bc8e996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Breaking**: `Creator.add_metadata` no longer auto-converts a `Date` metadata value passed as `datetime.date`/`datetime.datetime`; pass pre-formatted `str`/`bytes` instead (#188) - **Breaking**: Drop support for Python 3.10 (#281) +- **Breaking**: `Archive._get_entry_by_id()` removed in favor of `Archive.get_entry_by_id()` (#225) ### Fixed diff --git a/libzim/libzim.pyx b/libzim/libzim.pyx index a194ae6..63ecdf1 100644 --- a/libzim/libzim.pyx +++ b/libzim/libzim.pyx @@ -1148,7 +1148,7 @@ cdef class Archive: """ return bytes(self.c_archive.getMetadata(name.encode('UTF-8'))) - def _get_entry_by_id(self, entry_id: pyint) -> Entry: + def get_entry_by_id(self, entry_id: pyint) -> Entry: """Retrieves an entry by its ID. Args: diff --git a/libzim/reader.pyi b/libzim/reader.pyi index 143e099..889089c 100644 --- a/libzim/reader.pyi +++ b/libzim/reader.pyi @@ -46,7 +46,7 @@ class Archive: def metadata_keys(self) -> list[str]: ... def get_metadata_item(self, name: str) -> Item: ... def get_metadata(self, name: str) -> bytes: ... - def _get_entry_by_id(self, entry_id: int) -> Entry: ... + def get_entry_by_id(self, entry_id: int) -> Entry: ... @property def has_main_entry(self) -> bool: ... @property diff --git a/tests/test_libzim_reader.py b/tests/test_libzim_reader.py index 43082eb..a9930b8 100644 --- a/tests/test_libzim_reader.py +++ b/tests/test_libzim_reader.py @@ -325,7 +325,7 @@ def get_content(): gc.collect() # Load a lot of content for i in range(0, archive.entry_count, 2): - entry = archive._get_entry_by_id(i) + entry = archive.get_entry_by_id(i) if not entry.is_redirect: _ = entry.get_item().content # Check everything is ok @@ -582,8 +582,8 @@ def test_reader_by_id(all_zims, filename): # test index access for index in range(0, zim.entry_count - 1): - assert zim._get_entry_by_id(index)._index == index - assert zim._get_entry_by_id(index).get_item()._index >= 0 + assert zim.get_entry_by_id(index)._index == index + assert zim.get_entry_by_id(index).get_item()._index >= 0 @skip_if_offline @@ -642,7 +642,7 @@ def test_cluster_cache(all_zims, filename): # test index access for index in range(0, zim.entry_count - 1): - bytes(zim._get_entry_by_id(index).get_item().content) + bytes(zim.get_entry_by_id(index).get_item().content) # check current size is not too big (not really relevant since cache keeps at least # one cluster in memory, so this value depends on maximum cluster size @@ -667,7 +667,7 @@ def test_dirent_cache(all_zims, filename): # test index access for index in range(0, zim.entry_count - 1): - bytes(zim._get_entry_by_id(index).get_item().content) + bytes(zim.get_entry_by_id(index).get_item().content) assert zim.dirent_cache_current_size <= new_value @@ -676,7 +676,7 @@ def test_dirent_cache(all_zims, filename): assert zim.dirent_cache_current_size == empty_value for index in range(0, zim.entry_count - 1): - bytes(zim._get_entry_by_id(index).get_item().content) + bytes(zim.get_entry_by_id(index).get_item().content) # always at least one entry is kept in cache unless ZIM is empty assert zim.dirent_cache_current_size == (1 if zim.entry_count else 0)