Make it work with two plugins.
bottle>=0.10 changed behaviour to replace plugins with the same name, so I have to patch the name if a plugin with the same name already exists.
This commit is contained in:
parent
b5fe085f96
commit
e0d85fbc44
|
@ -67,6 +67,8 @@ class SQLitePlugin(object):
|
|||
if other.keyword == self.keyword:
|
||||
raise PluginError("Found another sqlite plugin with "\
|
||||
"conflicting settings (non-unique keyword).")
|
||||
elif other.name == self.name:
|
||||
self.name += '_%s' % self.keyword
|
||||
|
||||
def apply(self, callback, route):
|
||||
# hack to support bottle v0.9.x
|
||||
|
|
14
test.py
14
test.py
|
@ -28,6 +28,18 @@ class SQLiteTest(unittest.TestCase):
|
|||
def test(**kw):
|
||||
self.assertFalse('db' in kw)
|
||||
self.app({'PATH_INFO':'/2', 'REQUEST_METHOD':'GET'}, lambda x, y: None)
|
||||
|
||||
|
||||
def test_install_conflicts(self):
|
||||
self.app.install(sqlite.Plugin())
|
||||
self.app.install(sqlite.Plugin(keyword='db2'))
|
||||
|
||||
@self.app.get('/')
|
||||
def test(db, db2):
|
||||
pass
|
||||
|
||||
# I have two plugins working with different names
|
||||
self.app({'PATH_INFO': '/', 'REQUEST_METHOD': 'GET'}, lambda x, y: None)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue
Block a user