ModifyPassage¶
-
class
ucca.core.
ModifyPassage
(fn)[source]¶ Bases:
object
Decorator for changing a
Passage
or any member of it.This decorator is mandatory for anything which causes the elements in a
Passage
to change by adding or removing an element, or changing an attribute.It validates that the Passage is not frozen before allowing the change.
The decorator can’t be used for __init__ calls, as at the stage of the check there are no instance attributes to check. So in such cases, a function that binds the object created with the Passage should be decorated instead (and should be called after the instance attributes are set).
- Attributes:
- fn: the function object to decorate
Methods Summary
__call__
(*args, **kwargs)Decorating functions which modify Passage
elements.Methods Documentation
-
__call__
(*args, **kwargs)[source]¶ Decorating functions which modify
Passage
elements.Parameters: - args – list of all arguments, assuming the first is the object
which modifies
Passage
, and it has an attribute root which points to the Passage it is part of. - kwargs – list of all keyword arguments
Returns: The decorated function result.
Raises: FrozenPassageError – if the
Passage
is frozen and can’t be modified.- args – list of all arguments, assuming the first is the object
which modifies