Атрибут name
Атрибут name применяется к экземпляру
класса Plugin и содержит строку -
уникальное имя плагина. Bottle использует это
имя для регистрации плагина в приложении, а
также для его поиска и удаления через методы
uninstall и get_plugin.
Если при создании плагина имя не задано явно, Bottle автоматически формирует его из имени класса. Значение атрибута должно быть строкой и оставаться неизменным на протяжении жизненного цикла плагина.
Синтаксис
plugin.name
Пример
Давайте создадим простой плагин и посмотрим
значение его атрибута name:
from bottle import Bottle, Plugin
class MyPlugin(Plugin):
name = 'my-plugin'
def apply(self, callback, route):
return callback
plugin = MyPlugin()
print(plugin.name)
Результат выполнения кода:
"my-plugin"
Пример
Давайте установим плагин в приложение и проверим, что он зарегистрирован под своим именем:
from bottle import Bottle, Plugin
class MyPlugin(Plugin):
name = 'my-plugin'
def apply(self, callback, route):
return callback
app = Bottle()
app.install(MyPlugin())
print(app.get_plugin('my-plugin'))
Результат выполнения кода:
<app.MyPlugin object at 0x...>