Przejdź do treści

olski.osoby

Osoby projektu: lematy, którymi ten rejestr nazywa kogoś.

Plik żądań mówi, czego czasownik żąda od słowa stojącego w jego pozycji, i nie mówi, czy słowo to żądanie spełnia (olski/żądania.py). Dla klas osobowych odpowiada ta deklaracja, a dla pozostałych wordnet, którego to repozytorium nie ma. Deklaracja jest zamknięta, czyli lemat spoza niej nikogo nie nazywa, a wywód tego kierunku wraz z jego ceną trzyma docs/walencja.md#deklaracja-projektu-rozstrzyga-żądanie-osoby.

Sekcję czyta ten moduł, a jej strukturę olski/konfiguracja.py, tak samo jak przy słownictwie projektu (olski/słownictwo.py).

LEMATY = 'lematy' module-attribute

OSOBY_PROJEKTU = Osoby(napisy(OSOBY, LEMATY, sekcja(OSOBY, (LEMATY,)))) module-attribute

Osoby dataclass

Lematy, którymi ten projekt nazywa kogoś.

Wartość domyślna jest projektem bez tej sekcji i wchodzi argumentem domyślnym tam, gdzie się o nią pyta, tak samo jak słownictwo projektu: kto czyta jedno zdanie dwiema deklaracjami, podaje swoją zamiast podmieniać stałą.

Source code in olski/osoby.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
@dataclass(frozen=True)
class Osoby:
    """Lematy, którymi ten projekt nazywa kogoś.

    Wartość domyślna jest projektem bez tej sekcji i wchodzi argumentem
    domyślnym tam, gdzie się o nią pyta, tak samo jak słownictwo projektu:
    kto czyta jedno zdanie dwiema deklaracjami, podaje swoją zamiast
    podmieniać stałą.
    """

    lematy: frozenset[str] = frozenset()

    def nazywają(self, lematy: Iterable[str]) -> bool:
        """Czy któryś z tych lematów nazywa kogoś.

        Któryś, a nie każdy, bo forma bywa dwoma słowami naraz
        i czytanie nie mówi, którym z nich stoi
        (:meth:`olski.parse.Node.signature`),
        więc wątpliwość milczy tu tak samo jak po stronie żądania
        (:func:`olski.żądania.żądane`).
        """
        return any(lemat in self.lematy for lemat in lematy)

lematy = frozenset() class-attribute instance-attribute

__init__(lematy=frozenset())

nazywają(lematy)

Czy któryś z tych lematów nazywa kogoś.

Któryś, a nie każdy, bo forma bywa dwoma słowami naraz i czytanie nie mówi, którym z nich stoi (olski.parse.Node.signature), więc wątpliwość milczy tu tak samo jak po stronie żądania (olski.żądania.żądane).

Source code in olski/osoby.py
38
39
40
41
42
43
44
45
46
47
def nazywają(self, lematy: Iterable[str]) -> bool:
    """Czy któryś z tych lematów nazywa kogoś.

    Któryś, a nie każdy, bo forma bywa dwoma słowami naraz
    i czytanie nie mówi, którym z nich stoi
    (:meth:`olski.parse.Node.signature`),
    więc wątpliwość milczy tu tak samo jak po stronie żądania
    (:func:`olski.żądania.żądane`).
    """
    return any(lemat in self.lematy for lemat in lematy)