pyams_catalog package ⊞

pyams_catalog.includeme(config)[source]

Pyramid include

pyams_catalog.include

pyams_catalog.include.include_package(config)[source]

Pyramid include

pyams_catalog.index

class pyams_catalog.index.DatetimeIndexWithInterface(interface, discriminator, resolution=2, family=None)[source]

Bases: pyams_catalog.index.FieldIndexWithInterface

Normalized datetime index with interface support

discriminate(obj, default)[source]

See interface IIndexInjection

class pyams_catalog.index.FacetIndexWithInterface(interface, discriminator, facets, family=None)[source]

Bases: pyams_catalog.index.InterfaceSupportIndexMixin, hypatia.facet.FacetIndex

Facet index with interface support

class pyams_catalog.index.FieldIndexWithInterface(interface, discriminator, family=None)[source]

Bases: pyams_catalog.index.InterfaceSupportIndexMixin, hypatia.field.FieldIndex

Field index with interface support

class pyams_catalog.index.InterfaceSupportIndexMixin(interface)[source]

Bases: hypatia.util.BaseIndexMixin

Custom index mixin handling objects interfaces

discriminate(obj, default)[source]

See interface IIndexInjection

class pyams_catalog.index.KeywordIndexWithInterface(interface, discriminator, family=None)[source]

Bases: pyams_catalog.index.InterfaceSupportIndexMixin, hypatia.keyword.KeywordIndex

Keyword index with interface support

class pyams_catalog.index.TextIndexWithInterface(interface, discriminator, lexicon=None, language='english', index=None, family=None)[source]

Bases: pyams_catalog.index.InterfaceSupportIndexMixin, hypatia.text.TextIndex

Text index with interface support

pyams_catalog.index.get_resolution(value, resolution)[source]

Set resolution of given date or datetime

>>> from pyams_catalog.interfaces import *
>>> from pyams_catalog.index import get_resolution
>>> from datetime import date, datetime

Starting with dates:

>>> today = date(2017, 7, 11)
>>> get_resolution(today, YEAR_RESOLUTION)
datetime.date(2017, 1, 1)
>>> get_resolution(today, MONTH_RESOLUTION)
datetime.date(2017, 7, 1)
>>> get_resolution(today, DATE_RESOLUTION)
datetime.date(2017, 7, 11)

Asking for a resolution higher than DATE with a date input only returns date:

>>> get_resolution(today, MINUTE_RESOLUTION)
datetime.date(2017, 7, 11)

Same examples with datetimes:

>>> now = datetime(2017, 7, 11, 13, 22, 10)
>>> get_resolution(now, YEAR_RESOLUTION)
datetime.datetime(2017, 1, 1, 0, 0)
>>> get_resolution(now, MONTH_RESOLUTION)
datetime.datetime(2017, 7, 1, 0, 0)
>>> get_resolution(now, DATE_RESOLUTION)
datetime.datetime(2017, 7, 11, 0, 0)
>>> get_resolution(now, HOUR_RESOLUTION)
datetime.datetime(2017, 7, 11, 13, 0)
>>> get_resolution(now, MINUTE_RESOLUTION)
datetime.datetime(2017, 7, 11, 13, 22)
>>> get_resolution(now, SECOND_RESOLUTION)
datetime.datetime(2017, 7, 11, 13, 22, 10)

pyams_catalog.nltk

class pyams_catalog.nltk.NltkFullTextProcessor(language='english')[source]

Bases: object

NLTK based full text processor

process(lst)[source]
processGlob(lst)[source]
class pyams_catalog.nltk.NltkStemmedTextProcessor(language='english')[source]

Bases: object

NLTK based text processor using stemmer

process(lst)[source]
processGlob(lst)[source]

pyams_catalog.query

class pyams_catalog.query.CatalogResultSet(query)[source]

Bases: object

Catalog query result set wrapper

append(items)[source]
prepend(items)[source]
pyams_catalog.query.and_(source, added)[source]

Combine two queries with ‘and’

pyams_catalog.query.or_(source, added)[source]

Combine two queries with ‘or’

pyams_catalog.site

pyams_catalog.utils

pyams_catalog.utils.catalog_key_adapter(obj)[source]

Catalog key value adapter

pyams_catalog.utils.index_object(obj, catalog='', ignore_notyet=False)[source]

Index given object into catalog

pyams_catalog.utils.reindex_object(obj, catalog='')[source]

Reindex given object into catalog

pyams_catalog.utils.unindex_object(obj, catalog='')[source]

Unindex given object from catalog