Reference
nti.intid.interfaces
Interfaces for working with integer IDs.
- interface nti.intid.interfaces.IIntIds[source]
Extends:
zc.intid.interfaces.IIntIds,zc.intid.interfaces.IIntIdsSubclass,zope.location.interfaces.IContainedAdvanced extensions to an integer ID catalog.
Normal users will have no need of this interface.
- randomize()
Randomize the next id.
Do not use this method.
- force_register(uid, ob, check=True)
Register an object.
Do not use this method.
- Parameters:
uid – Registration id
ob – Object to register
check – Validation check flag
- force_unregister(uid, ob=None, notify=False, remove_attribute=True)
Unregister an object.
Do not use this method.
- Parameters:
uid – Id to unregister
ob – Obj to unregister [optional]
notify – Flag to trigger an
IIdRemovedEventnotremove_attribute – Flag to remove intid attribute
nti.intid.common
Common utilities.
Currently, there is nothing here.
- nti.intid.common.addIntId(ob, event=None)[source]
Deprecated alias for
zc.intid.subscribers.addIntIdSubscriber()
- nti.intid.common.add_intid(ob, event=None)
Deprecated alias for
zc.intid.subscribers.addIntIdSubscriber()
- nti.intid.common.removeIntId(ob, event=None)[source]
Deprecated alias for
zc.intid.subscribers.removeIntIdSubscriber()
- nti.intid.common.remove_intid(ob, event=None)
Deprecated alias for
zc.intid.subscribers.removeIntIdSubscriber()
nti.intid.subscribers
Subscribers for events.
These are configured by loading this packages’s configure.zcml.
nti.intid.utility
Contains a zc.intid.utility derived utility for managing
intids. The primary reason to do this is to provide better exceptions,
and future proofing of behaviour.
- class nti.intid.utility.IntIds(attribute, family=None)[source]
Bases:
IntIdsA integer ID utility that uses 64-bit values.
Implements
nti.intid.interfaces.IIntIds- queryId(ob, default=None)[source]
Query for the id of the
Acquisition.aq_base()of ob.Note
If you pass a broken object (in the ZODB sense), this will hide that fact. We have to activate it, but if it is broken, we will not be able to. However, we catch
KeyError, which is a superclass of thePOSKeyErrorthat gets thrown, so you cannot distinguish it at this point.We do not change this for backwards compatibility.
- register(object) int[source]
Register the
Acquisition.aq_base()of object and return the integer id.
- family = <BTree family using 64 bits. Supports signed integer values from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 and maximum unsigned integer value 18,446,744,073,709,551,615.>
The family of BTrees to use.
nti.intid.wref
Weak references to things with intids. These serve the same purpose as general
persistent weak references from persistent.wref, but are specific
to things with intids, and do not keep the object alive or accessible once
the object is removed from the intid catalog
(whereas weak refs do until such time as the database is GC’d).
- class nti.intid.wref.ArbitraryOrderableWeakRef(content_object)[source]
Bases:
WeakRefA subclass of
WeakRefthat is orderable in a completely arbitrary way (based simply on intids).
- class nti.intid.wref.NoCachingArbitraryOrderableWeakRef(content_object)[source]
Bases:
ArbitraryOrderableWeakRefDoes not allow caching.
- class nti.intid.wref.WeakRef(content_object)[source]
Bases:
_AbstractWeakRefA weak reference to a content object (generally, anything with an intid). Call this object to return either the object, or if the object has gone away,
None.Note that this is not a persistent object. It is not mutable (and it’s also very tiny), and it has value semantics, so there’s very little need to be persistent. This means it’s suitable for use in OOSet objects and OOBTree objects as keys (if subclassed to provide total ordering!)