Атрибут api
Атрибут api принадлежит классу
Plugin и задаёт версию API плагина.
Bottle использует это значение для обратной
совместимости: в зависимости от указанного
числа плагину становятся доступны те или иные
методы и атрибуты. По умолчанию атрибут
устанавливается в значение 2.
Значение атрибута api влияет на то,
какие методы будут вызваны у плагина: например,
метод setup доступен только для плагинов
с уровнем API не ниже 2. Если значение меньше,
Bottle пропускает вызов этого метода.
Синтаксис
class Plugin(object):
api = 2
Пример
Давайте создадим простой плагин и проверим
значение его атрибута api:
from bottle import Plugin
class MyPlugin(Plugin):
name = 'myplugin'
api = 2
plugin = MyPlugin()
res = plugin.api
print(res)
Результат выполнения кода:
2
Пример
Давайте зададим плагину устаревший уровень API
и посмотрим, как это влияет на вызов метода
setup:
from bottle import Bottle, Plugin
class OldPlugin(Plugin):
name = 'oldplugin'
api = 1
def setup(self, app):
print('setup called')
app = Bottle()
app.install(OldPlugin())
res = app.plugins[0].api
print(res)
Результат выполнения кода:
1
Так как уровень API равен 1, метод
setup не будет вызван при установке
плагина в приложение.