election_day.collections.archived_results ========================================= .. py:module:: election_day.collections.archived_results Attributes ---------- .. autoapisummary:: election_day.collections.archived_results._T1 Classes ------- .. autoapisummary:: election_day.collections.archived_results.ArchivedResultCollection election_day.collections.archived_results.SearchableArchivedResultCollection Functions --------- .. autoapisummary:: election_day.collections.archived_results.groupbydict Module Contents --------------- .. py:data:: _T1 .. py:function:: groupbydict(items: collections.abc.Iterable[_T1], keyfunc: collections.abc.Callable[[_T1], _TSupportsRichComparison], sortfunc: None = None, groupfunc: collections.abc.Callable[[collections.abc.Iterable[_T1]], list[_T1]] = list) -> dict[_TSupportsRichComparison, list[_T1]] groupbydict(items: collections.abc.Iterable[_T1], keyfunc: collections.abc.Callable[[_T1], _T2], sortfunc: collections.abc.Callable[[_T1], _typeshed.SupportsRichComparison], groupfunc: collections.abc.Callable[[collections.abc.Iterable[_T1]], list[_T1]] = list) -> dict[_T2, list[_T1]] groupbydict(items: collections.abc.Iterable[_T1], keyfunc: collections.abc.Callable[[_T1], _TSupportsRichComparison], sortfunc: None = None, *, groupfunc: collections.abc.Callable[[collections.abc.Iterable[_T1]], _T2]) -> dict[_TSupportsRichComparison, _T2] groupbydict(items: collections.abc.Iterable[_T1], keyfunc: collections.abc.Callable[[_T1], _TSupportsRichComparison], sortfunc: None, groupfunc: collections.abc.Callable[[collections.abc.Iterable[_T1]], _T2]) -> dict[_TSupportsRichComparison, _T2] groupbydict(items: collections.abc.Iterable[_T1], keyfunc: collections.abc.Callable[[_T1], _T2], sortfunc: collections.abc.Callable[[_T1], _typeshed.SupportsRichComparison], groupfunc: collections.abc.Callable[[collections.abc.Iterable[_T1]], _T3]) -> dict[_T2, _T3] .. py:class:: ArchivedResultCollection(session: sqlalchemy.orm.Session, date_: str | None = None) .. py:attribute:: session .. py:attribute:: date :value: None .. py:method:: for_date(date_: str) -> Self .. py:method:: query() -> sqlalchemy.orm.Query[onegov.election_day.models.ArchivedResult] .. py:method:: get_years() -> list[int] Returns a list of available years. .. py:method:: group_items(items: collections.abc.Collection[onegov.election_day.models.ArchivedResult], request: onegov.election_day.request.ElectionDayRequest) -> dict[datetime.date, dict[str | None, dict[str, list[onegov.election_day.models.ArchivedResult]]]] | None Groups a list of archived results. Groups election compounds and elections to the same group. Removes elections already covered by an election compound. Merges region, district and none domains. .. py:method:: current() -> tuple[list[onegov.election_day.models.ArchivedResult], datetime.datetime | None] Returns the current results. The current results are the results from either the next election day relative to today or the last results relative to today, if no next. .. py:method:: by_year(year: int) -> tuple[list[onegov.election_day.models.ArchivedResult], datetime.datetime | None] Returns the results for the given year. .. py:method:: by_date(date_: datetime.date | None = None) -> tuple[list[onegov.election_day.models.ArchivedResult], datetime.datetime | None] Returns the results of a given/current date. .. py:method:: update(item: onegov.election_day.models.Election | onegov.election_day.models.ElectionCompound | onegov.election_day.models.Vote, request: onegov.election_day.request.ElectionDayRequest, old: str | None = None) -> onegov.election_day.models.ArchivedResult Updates a result. .. py:method:: update_all(request: onegov.election_day.request.ElectionDayRequest) -> None Updates all (local) results. .. py:method:: add(item: onegov.election_day.models.Election | onegov.election_day.models.ElectionCompound | onegov.election_day.models.Vote, request: onegov.election_day.request.ElectionDayRequest) -> None Add a new election or vote and create a result entry. .. py:method:: clear_results(item: onegov.election_day.models.Election | onegov.election_day.models.ElectionCompound | onegov.election_day.models.Vote, request: onegov.election_day.request.ElectionDayRequest, clear_all: bool = False) -> None Clears the result of an election or vote. .. py:method:: delete(item: onegov.election_day.models.Election | onegov.election_day.models.ElectionCompound | onegov.election_day.models.Vote, request: onegov.election_day.request.ElectionDayRequest) -> None Deletes an election or vote and the associated result entry. .. py:class:: SearchableArchivedResultCollection(app: onegov.election_day.app.ElectionDayApp, date_: str | None = None, from_date: datetime.date | None = None, to_date: datetime.date | None = None, item_type: str | None = None, domains: list[str] | None = None, term: str | None = None, answers: list[str] | None = None, locale: str = 'de_CH', page: int = 0) Bases: :py:obj:`ArchivedResultCollection`, :py:obj:`onegov.core.collection.Pagination`\ [\ :py:obj:`onegov.election_day.models.ArchivedResult`\ ] Provides collections with pagination, if they implement a few documented properties and methods. See :class:`onegov.ticket.TicketCollection` for an example. .. py:attribute:: page :type: int .. py:attribute:: app .. py:attribute:: from_date :value: None .. py:attribute:: to_date .. py:attribute:: item_type :value: None .. py:attribute:: domains :value: None .. py:attribute:: term :value: None .. py:attribute:: answers :value: None .. py:attribute:: locale :value: 'de_CH' .. py:method:: __eq__(other: object) -> bool Returns True if the current and the other Pagination instance are equal. Used to find the current page in a list of pages. .. py:method:: subset() -> sqlalchemy.orm.Query[onegov.election_day.models.ArchivedResult] Returns an SQLAlchemy query containing all records that should be considered for pagination. .. py:property:: page_index :type: int Returns the current page index (starting at 0). .. py:method:: page_by_index(index: int) -> Self Returns the page at the given index. A page here means an instance of the class inheriting from the ``Pagination`` base class. .. py:method:: term_to_tsquery_string(term: str | None) -> str :staticmethod: Returns the current search term transformed to use within Postgres ``to_tsquery`` function. Removes all unwanted characters, replaces prefix matching, joins word together using FOLLOWED BY. .. py:method:: match_term(column: sqlalchemy.sql.ColumnElement[Any], language: str, term: str) -> sqlalchemy.sql.ColumnElement[sqlalchemy.dialects.postgresql.TSVECTOR | None] :staticmethod: Generate a clause element for a given search term. Usage:: model.filter(match_term(model.col, 'german', 'my search term')) .. py:method:: filter_text_by_locale(column: sqlalchemy.sql.ColumnElement[Any], term: str, locale: str = 'en') -> sqlalchemy.sql.ColumnElement[sqlalchemy.dialects.postgresql.TSVECTOR | None] :staticmethod: Returns an SQLAlchemy filter statement based on the search term. If no locale is provided, it will use english as language. ``to_tsquery`` creates a tsquery value from term, which must consist of single tokens separated by these Boolean operators: * ``&`` (AND) * ``|`` (OR) * ``!`` (NOT) ``to_tsvector`` parses a textual document into tokens, reduces the tokens to lexemes, and returns a tsvector which lists the lexemes together with their positions in the document. The document is processed according to the specified or default text search configuration. .. py:property:: term_filter :type: tuple[sqlalchemy.sql.ColumnElement[sqlalchemy.dialects.postgresql.TSVECTOR | None], sqlalchemy.sql.ColumnElement[sqlalchemy.dialects.postgresql.TSVECTOR | None]] .. py:method:: query() -> sqlalchemy.orm.Query[onegov.election_day.models.ArchivedResult] .. py:method:: reset_query_params() -> None .. py:method:: for_item_type(app: onegov.election_day.app.ElectionDayApp, item_type: Literal['vote', 'election'], *, date_: str | None = None, from_date: datetime.date | None = None, to_date: datetime.date | None = None, domains: list[str] | None = None, term: str | None = None, answers: list[str] | None = None, locale: str = 'de_CH', page: int = 0) -> Self for_item_type(app: onegov.election_day.app.ElectionDayApp, item_type: str | None, *, date_: str | None = None, from_date: datetime.date | None = None, to_date: datetime.date | None = None, domains: list[str] | None = None, term: str | None = None, answers: list[str] | None = None, locale: str = 'de_CH', page: int = 0) -> Self | None :classmethod: