def activity(self) -> ba.Activity: """The Activity this Actor was created in. Raises a ba.ActivityNotFoundError if the Activity no longer exists. """ activity = self._activity() if activity is None: raise ActivityNotFoundError() return activity
def getactivity(self, doraise: bool = True) -> Optional[ba.Activity]: """Return the ba.Activity this Actor is associated with. If the Activity no longer exists, raises a ba.ActivityNotFoundError or returns None depending on whether 'doraise' is True. """ activity = self._activity() if activity is None and doraise: raise ActivityNotFoundError() return activity
def autoretain(self: T) -> T: """Keep this Actor alive without needing to hold a reference to it. This keeps the ba.Actor in existence by storing a reference to it with the ba.Activity it was created in. The reference is lazily released once ba.Actor.exists() returns False for it or when the Activity is set as expired. This can be a convenient alternative to storing references explicitly just to keep a ba.Actor from dying. For convenience, this method returns the ba.Actor it is called with, enabling chained statements such as: myflag = ba.Flag().autoretain() """ activity = self._activity() if activity is None: raise ActivityNotFoundError() activity.retain_actor(self) return self