Zope-index

Latest version: v4.3.0

Safety actively analyzes 641024 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

3.5.1

==================

- The baseindex, okapiindex, and lexicon used plain counters for various
lengths, which is unsuitable for production applications.
Backport code from Zope2 indexes which opportunistically replaces the
counters with BTree.Length objects.

- Backport non-insane version of baseindex._del_wordinfo from
Zope2 text index. This improves deletion performance by
several orders of magnitude.

- Don't modify given query dictionary in the KeywordIndex.apply method.

- Move FieldIndex's sorting functionality to a mixin class so it can
be reused by zc.catalog's ValueIndex.

3.5.0

==================

- Remove zope.testing from dependencies, as it's not really needed.

- Define IIndexSort interface for indexes that support sorting.

- Implement sorting for FieldIndex (adapted from repoze.catalog/ZCatalog).

- Add an ``apply`` method for KeywordIndex/TopicIndex, making them
implement IIndexSearch that can be useful in catalog.

- Optimize the ``search`` method of KeywordIndex/TopicIndex by using
multiunion for the ``or`` operator and sorting before intersection for ``and``.

- IMPORTANT: KeywordIndex/TopicIndex now use IFSets instead of IISets.
This makes it more compatible with other indexes (for example, when
using in catalog). This change can lead to problems, if your code somehow
depends on the II nature of sets, as it was before.

Also, FilteredSets used to use IFSets as well, if you have any
FilteredSets pickled in the database, you need to migrate them to
IFSets yourself. You can do it like that:

filter._ids = filter.family.IF.Set(filter._ids)

Where ``filter`` is an instance of FilteredSet.

- IMPORTANT: KeywordIndex are now non-normalizing. Because
it can be useful for non-string keywords, where case-normalizing
doesn't make any sense. Instead, it provides the ``normalize``
method that can be overriden by subclasses to provide some
normalization.

The CaseInsensitiveKeywordIndex class is now provided that
do case-normalization for string-based keywords. The old
CaseSensitiveKeywordIndex is gone, applications should use
KeywordIndex for that.

Looks like the KeywordIndex/TopicIndex was sort of abadonware
and wasn't used by application developers, so after some
discussion we decided to refactor them to make them more
usable, optimal and compatible with other indexes and catalog.

Porting application from old KeywordIndex/TopicIndex to new
ones are rather easy and explained above, so we believe that
it isn't a problem. Please, use zope3-userszope.org or
zope-devzope.org mailing lists, if you have any problems
with migration.

Thanks Chris McDonough of repoze for supporting and useful code.

3.4.1

==================

- Fix bug in package metadata (wrong homepage URL).

3.4.0

==================

No further changes since 3.4.0a1.

3.4.0a1

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.