file.models.named_file ====================== .. py:module:: file.models.named_file Attributes ---------- .. autoapisummary:: file.models.named_file._F Classes ------- .. autoapisummary:: file.models.named_file.HasFiles file.models.named_file.NamedFile Module Contents --------------- .. py:class:: HasFiles Bases: :py:obj:`Protocol` Base class for protocol classes. Protocol classes are defined as:: class Proto(Protocol): def meth(self) -> int: ... Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing). For example:: class C: def meth(self) -> int: return 0 def func(x: Proto) -> int: return x.meth() func(C()) # Passes static type check See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:: class GenProto(Protocol[T]): def meth(self) -> T: ... .. py:attribute:: files :type: sqlalchemy.orm.relationship[list[onegov.file.models.file.File]] .. py:data:: _F .. py:class:: NamedFile(cls: type[_F] | None = None) Helper for managing files using static names together with AssociatedFiles. A named file can be added by assigning a tuple of a file-like content and a filename. Reading the named file will return a File object. Finally, named files can be deleted using the del-Operator. Example:: class MyClass(AssociatedFiles): pdf = NamedFile() obj = MyClass() with open('some.pdf', 'rb') as file: obj.pdf = (file.read(), 'some.pdf') obj.pdf.reference.file.read() del obj.pdf .. py:attribute:: cls .. py:method:: __set_name__(owner: type[object], name: str) -> None .. py:method:: __get__(instance: None, owner: type[HasFiles] | None = None) -> Self __get__(instance: HasFiles, owner: type[HasFiles] | None = None) -> onegov.file.models.file.File | None .. py:method:: __set__(instance: HasFiles, value: tuple[bytes | IO[bytes], str | None]) -> None .. py:method:: __delete__(instance: HasFiles) -> None