labapi.entry.entries.attachment.AttachmentEntry#
- class labapi.entry.entries.attachment.AttachmentEntry(eid: str, caption: str, user: User)[source]#
Bases:
Entry[Attachment]Represents an attachment entry on a LabArchives page.
This class handles the retrieval and updating of file attachments, providing access to the attachment’s content, filename, and caption.
- __init__(eid: str, caption: str, user: User)[source]#
Initialize an attachment entry.
- Parameters:
eid – The unique ID of the entry.
caption – The caption associated with the attachment.
user – The authenticated user.
Methods
__init__(eid, caption, user)Initialize an attachment entry.
class_of(part_type)Return the registered entry class for
part_type.from_part_type(part_type, eid, data, user)Create an entry instance for a LabArchives part type.
get_attachment([use_tempfile])Return the attachment payload as an independent stream copy.
is_registered(part_type)Return whether an entry class is registered for
part_type.Attributes
Return the attachment caption.
Return the attachment content.
Return the LabArchives content type identifier for this entry.
Return the unique identifier of the entry.
- get_attachment(
- use_tempfile: bool = False,
Return the attachment payload as an independent stream copy.
The attachment data is fetched from the LabArchives API and cached. Subsequent calls will return the cached data.
- Parameters:
use_tempfile – If True, the attachment data will be stored in a temporary file; otherwise, in an in-memory BytesIO object. Defaults to False.
- Returns:
An
Attachmentobject containing the file data and metadata.
- property content: Attachment#
Return the attachment content.
This property retrieves the attachment data, caching it for subsequent access.
- Returns:
The attachment object.
- static class_of(
- part_type: str,
Return the registered entry class for
part_type.- Parameters:
part_type – The LabArchives part type identifier.
- Returns:
The
Entrysubclass registered for this part type.- Raises:
KeyError – If no class is registered for the specified part type.
- property content_type: str#
Return the LabArchives content type identifier for this entry.
- Returns:
A string representing the entry’s type (e.g., “text entry”, “Attachment”).
- static from_part_type( ) Entry[Any]#
Create an entry instance for a LabArchives part type.
This method takes a part type string and returns the corresponding entry class instance. The part type is normalized before matching.
- Parameters:
part_type – The type of entry to create (e.g., “heading”, “text entry”, “plain text entry”, “attachment”, “widget entry”).
eid – The unique ID of the entry.
data – The entry data. For text-based entries, this is the text content. For attachment entries, this is the caption.
user – The authenticated user associated with this entry.
- Returns:
An entry instance of the appropriate type.
- Raises:
NotImplementedError – If the part type is not recognized or implemented.
- property id#
Return the unique identifier of the entry.
- Returns:
The entry’s ID as a string.