Pular para conteúdo

ListaRegistro#

ListaRegistro #

ListaRegistro()
ListaRegistro(iterable: Iterable[RegistroT])
ListaRegistro(iterable: Iterable[RegistroT] = ())

Bases: list[RegistroT]

Representa uma lista de registros com funcionalidades adicionais.

Attributes:

  • nomes (tuple[str, ...]) –

    Tupla com os nomes dos registros presentes na lista de registros.

Parameters:

  • iterable (Iterable[RegistroT], default: () ) –

    Iterável de registros a serem adicionados durante a criação da lista de registros.

nomes property #

nomes: tuple[str, ...]

Nomes dos registros na lista de registros, sem repetição.

como #

como(registro: type[ComoRegistroT]) -> ListaRegistro[ComoRegistroT]

Corrige a tipo dos registros na lista para o tipo especificado.

Returns:

  • ListaRegistro[ComoRegistroT] –

    A própria lista, mas com o tipo dos registros corrigido.

buscar #

buscar(
    nome: str | None = None,
    campos: dict[Chave, Valor | Iterable[Valor]] | None = None,
    *,
    campos_c: dict[Chave, ValorC | Iterable[ValorC]] | None = None,
    campos_n: dict[Chave, ValorN | Iterable[ValorN]] | None = None,
    filtro: Callable[[Registro], bool] | None = None,
    recursivo: bool = True,
    primeiro: bool = False
) -> ListaRegistro[Registro]

Realiza uma busca de registros válidos entre os registros na lista de registros, de acordo com os parâmetros informados.

Parameters:

  • nome (str | None, default: None ) –

    Nome dos registros buscados.

  • campos (dict[Chave, Valor | Iterable[Valor]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores dos campos nos registros buscados.

  • campos_c (dict[Chave, ValorC | Iterable[ValorC]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores alfanuméricos dos campos nos registros buscados.

  • campos_n (dict[Chave, ValorN | Iterable[ValorN]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores numéricos dos campos nos registros buscados.

  • filtro (Callable[[Registro], bool] | None, default: None ) –

    Função que recebe um Registro e retorna True para os registros buscados.

  • recursivo (bool, default: True ) –

    Se a busca é feita de forma recursiva.

  • primeiro (bool, default: False ) –

    Se a busca deve ser encerrada após o primeiro registro ser encontrado.

Returns:

  • ListaRegistro[Registro] –

    Lista de registros contendo todos os registros válidos encontrados na busca.

Examples:

>>> registros.buscar("NOME", {"CAMPO": [1, 2]}, filtro=lambda r: True)
ListaRegistro[Registro('|NOME|1|'), Registro('|NOME|2|')]

primeiro #

primeiro(
    nome: str | None = None,
    campos: dict[Chave, Valor | Iterable[Valor]] | None = None,
    *,
    campos_c: dict[Chave, ValorC | Iterable[ValorC]] | None = None,
    campos_n: dict[Chave, ValorN | Iterable[ValorN]] | None = None,
    filtro: Callable[[Registro], bool] | None = None,
    recursivo: bool = True
) -> Registro

Realiza uma busca pelo primeiro registro válido entre os registros na lista de registros, de acordo com os parâmetros informados.

Parameters:

  • nome (str | None, default: None ) –

    Nome dos registros buscados.

  • campos (dict[Chave, Valor | Iterable[Valor]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores dos campos nos registros buscados.

  • campos_c (dict[Chave, ValorC | Iterable[ValorC]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores alfanuméricos dos campos nos registros buscados.

  • campos_n (dict[Chave, ValorN | Iterable[ValorN]] | None, default: None ) –

    Dicionários com chaves e um ou mais valores numéricos dos campos nos registros buscados.

  • filtro (Callable[[Registro], bool] | None, default: None ) –

    Função que recebe um Registro e retorna True para os registros buscados.

  • recursivo (bool, default: True ) –

    Se a busca é feita de forma recursiva.

Returns:

  • Registro –

    Primeiro registro válido encontrado na busca.

Raises:

  • ValueError –

    Se nenhum registro válido for encontrado.

Examples:

>>> registros.primeiro("NOME", {"CAMPO": [1, 2]}, filtro=lambda r: True)
Registro('|NOME|1|')
>>> registros.primeiro("ERRO")
ValueError: O registro buscado não foi encontrado