labapi.entry.entries.base.Entry#
- class labapi.entry.entries.base.Entry(eid: str, data: str, user: User)[source]#
-
Abstract base class for all entry types on a LabArchives page.
This class provides a common interface for different entry types such as text entries, headers, attachments, and widgets. It uses a generic type parameter T to represent the content type of the entry.
LabArchives does not currently expose an API endpoint for deleting individual entries, so this class intentionally does not provide a
delete()method.- Parameters:
T – The type of content stored in the entry (e.g., str for text, Attachment for files).
- __init__(eid: str, data: str, user: User)[source]#
Initialize an entry.
- Parameters:
eid – The unique ID of the entry.
user – The authenticated user associated with this entry.
Methods
__init__(eid, data, user)Initialize an 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.
is_registered(part_type)Return whether an entry class is registered for
part_type.Attributes
Return the entry content.
Return the LabArchives content type identifier for this entry.
Return the unique identifier of the entry.
- static is_registered(part_type: str) bool[source]#
Return whether an entry class is registered for
part_type.- Parameters:
part_type – The LabArchives part type identifier to check.
- Returns:
True if a class is registered for this part type, False otherwise.
- static class_of(
- part_type: str,
Return the registered entry class for
part_type.
- static from_part_type( ) Entry[Any][source]#
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.
- 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”).
- abstract property content: T#
Return the entry content.
The specific type of the content depends on the entry type (e.g., string for text entries,
Attachmentfor attachments).- Returns:
The content of the entry.