@@ -127,7 +127,8 @@ def trinity_config(self) -> TrinityConfig:
127
127
class BasePlugin (ABC ):
128
128
129
129
context : PluginContext = None
130
- status : PluginStatus = PluginStatus .NOT_READY
130
+
131
+ _status : PluginStatus = PluginStatus .NOT_READY
131
132
132
133
@property
133
134
@abstractmethod
@@ -160,7 +161,14 @@ def running(self) -> bool:
160
161
"""
161
162
Return ``True`` if the ``status`` is ``PluginStatus.STARTED``, otherwise return ``False``.
162
163
"""
163
- return self .status is PluginStatus .STARTED
164
+ return self ._status is PluginStatus .STARTED
165
+
166
+ @property
167
+ def status (self ) -> PluginStatus :
168
+ """
169
+ Return the current :class:`~trinity.extensibility.plugin.PluginStatus` of the plugin.
170
+ """
171
+ return self ._status
164
172
165
173
def set_context (self , context : PluginContext ) -> None :
166
174
"""
@@ -173,7 +181,7 @@ def ready(self) -> None:
173
181
Set the ``status`` to ``PluginStatus.READY`` and delegate to
174
182
:meth:`~trinity.extensibility.plugin.BasePlugin.on_ready`
175
183
"""
176
- self .status = PluginStatus .READY
184
+ self ._status = PluginStatus .READY
177
185
self .on_ready ()
178
186
179
187
def on_ready (self ) -> None :
@@ -198,12 +206,12 @@ def start(self) -> None:
198
206
:class:`~lahja.eventbus.EventBus` and hence allow other plugins to act accordingly.
199
207
"""
200
208
201
- if self .status in INVALID_START_STATUS :
209
+ if self ._status in INVALID_START_STATUS :
202
210
raise InvalidPluginStatus (
203
211
f"Can not start plugin when the plugin status is { self .status } "
204
212
)
205
213
206
- self .status = PluginStatus .STARTED
214
+ self ._status = PluginStatus .STARTED
207
215
self .do_start ()
208
216
self .event_bus .broadcast (
209
217
PluginStartedEvent (type (self ))
@@ -238,7 +246,7 @@ def stop(self) -> None:
238
246
plugin to stop and setting ``running`` to ``False``.
239
247
"""
240
248
self .do_stop ()
241
- self .status = PluginStatus .STOPPED
249
+ self ._status = PluginStatus .STOPPED
242
250
243
251
244
252
class BaseAsyncStopPlugin (BasePlugin ):
@@ -259,7 +267,7 @@ async def stop(self) -> None:
259
267
plugin to stop asynchronously and setting ``running`` to ``False``.
260
268
"""
261
269
await self .do_stop ()
262
- self .status = PluginStatus .STOPPED
270
+ self ._status = PluginStatus .STOPPED
263
271
264
272
265
273
class BaseMainProcessPlugin (BasePlugin ):
@@ -288,7 +296,7 @@ def start(self) -> None:
288
296
"""
289
297
Prepare the plugin to get started and eventually call ``do_start`` in a separate process.
290
298
"""
291
- self .status = PluginStatus .STARTED
299
+ self ._status = PluginStatus .STARTED
292
300
self ._process = ctx .Process (
293
301
target = self ._prepare_start ,
294
302
)
0 commit comments