agency.collections.people

Classes

FilterParams

dict() -> new empty dictionary

ExtendedPersonCollection

Extends the common person collection by the ability to filter by

Module Contents

class agency.collections.people.FilterParams[source]

Bases: TypedDict

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

letter: str | None[source]
agency: str | None[source]
first_name: str | None[source]
last_name: str | None[source]
updated_gt: str | None[source]
updated_ge: str | None[source]
updated_eq: str | None[source]
updated_le: str | None[source]
updated_lt: str | None[source]
class agency.collections.people.ExtendedPersonCollection(session: sqlalchemy.orm.Session, page: int = 0, letter: str | None = None, agency: str | None = None, first_name: str | None = None, last_name: str | None = None, updated_gt: str | None = None, updated_ge: str | None = None, updated_eq: str | None = None, updated_le: str | None = None, updated_lt: str | None = None, xlsx_modified: str | None = None)[source]

Bases: onegov.people.collections.people.BasePersonCollection[onegov.agency.models.ExtendedPerson], onegov.core.collection.Pagination[onegov.agency.models.ExtendedPerson]

Extends the common person collection by the ability to filter by the first letter of the last name, by the organization, by first or last name. Adds pagination.

batch_size = 20[source]
property model_class: type[onegov.agency.models.ExtendedPerson][source]
session[source]
page = 0[source]
letter = None[source]
agency = None[source]
first_name = None[source]
last_name = None[source]
updated_gt = None[source]
updated_ge = None[source]
updated_eq = None[source]
updated_le = None[source]
updated_lt = None[source]
exclude_hidden = False[source]
xlsx_modified = None[source]
subset() Query[ExtendedPerson][source]

Returns an SQLAlchemy query containing all records that should be considered for pagination.

__eq__(other: object) bool[source]

Returns True if the current and the other Pagination instance are equal. Used to find the current page in a list of pages.

page_by_index(page: int) Self[source]

Returns the page at the given index. A page here means an instance of the class inheriting from the Pagination base class.

for_filter(**kwargs: Unpack[FilterParams]) Self[source]
query() Query[ExtendedPerson][source]
property used_letters: list[str][source]

Returns a list of all the distinct first letters of people’s last names.

property used_agencies: list[str][source]

Returns a list of all the agencies people are members of.