labapi.entry.entries.unknown.UnknownEntry#

class labapi.entry.entries.unknown.UnknownEntry(
eid: str,
data: str,
user: User,
*,
part_type: str,
)[source]#

Bases: Entry[str]

Fallback entry wrapper for unimplemented or unknown upstream part types.

__init__(
eid: str,
data: str,
user: User,
*,
part_type: str,
)[source]#

Initialize an unknown entry wrapper.

Methods

__init__(eid, data, user, *, part_type)

Initialize an unknown entry wrapper.

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

content

Return the raw entry payload.

content_type

Return the original upstream part type.

id

Return the unique identifier of the entry.

property content_type: str#

Return the original upstream part type.

static class_of(
part_type: str,
) type[Entry[Any]]#

Return the registered entry class for part_type.

Parameters:

part_type – The LabArchives part type identifier.

Returns:

The Entry subclass registered for this part type.

Raises:

KeyError – If no class is registered for the specified part type.

property content: str#

Return the raw entry payload.

static from_part_type(
part_type: str,
eid: str,
data: str,
user: User,
) 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.

static is_registered(part_type: str) bool#

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.