plugins: use classvar properly

This commit is contained in:
mathieui 2021-07-05 22:41:41 +02:00
parent 524c352da3
commit 9489586cb4

View file

@ -12,6 +12,8 @@ import copy
import logging import logging
import threading import threading
from typing import Any, Dict, Set, ClassVar
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -250,17 +252,17 @@ class BasePlugin(object):
#: A short name for the plugin based on the implemented specification. #: A short name for the plugin based on the implemented specification.
#: For example, a plugin for XEP-0030 would use `'xep_0030'`. #: For example, a plugin for XEP-0030 would use `'xep_0030'`.
name = '' name: str = ''
#: A longer name for the plugin, describing its purpose. For example, #: A longer name for the plugin, describing its purpose. For example,
#: a plugin for XEP-0030 would use `'Service Discovery'` as its #: a plugin for XEP-0030 would use `'Service Discovery'` as its
#: description value. #: description value.
description = '' description: str = ''
#: Some plugins may depend on others in order to function properly. #: Some plugins may depend on others in order to function properly.
#: Any plugin names included in :attr:`~BasePlugin.dependencies` will #: Any plugin names included in :attr:`~BasePlugin.dependencies` will
#: be initialized as needed if this plugin is enabled. #: be initialized as needed if this plugin is enabled.
dependencies = set() dependencies: ClassVar[Set[str]] = set()
#: The basic, standard configuration for the plugin, which may #: The basic, standard configuration for the plugin, which may
#: be overridden when initializing the plugin. The configuration #: be overridden when initializing the plugin. The configuration
@ -268,7 +270,7 @@ class BasePlugin(object):
#: the plugin. For example, including the configuration field 'foo' #: the plugin. For example, including the configuration field 'foo'
#: would mean accessing `plugin.foo` returns the current value of #: would mean accessing `plugin.foo` returns the current value of
#: `plugin.config['foo']`. #: `plugin.config['foo']`.
default_config = {} default_config: ClassVar[Dict[str, Any]] = {}
def __init__(self, xmpp, config=None): def __init__(self, xmpp, config=None):
self.xmpp = xmpp self.xmpp = xmpp