When interacting with other ITemplateProvider plugins (such as VotePlugin, which is how I encountered this problem), AccountLdapPlugin does not implement the get_htdocs_dirs method, which breaks other plugins.
Here is the error:
Traceback (most recent call last):
File "/usr/lib64/python2.5/site-packages/trac/web/main.py", line 423, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/lib64/python2.5/site-packages/trac/web/main.py", line 197, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/lib64/python2.5/site-packages/trac/web/chrome.py", line 364, in process_request
in provider.get_htdocs_dirs() if dir[0] == prefix]:
AttributeError: 'AccountLDAP' object has no attribute 'get_htdocs_dirs'
Of course, this is pretty trivial to fix:
-
accountldap/accountldap.py
| old |
new |
|
| 94 | 107 | # |
|---|
| 95 | 108 | #---------------------------------------------- ITemplateProvider interface |
|---|
| 96 | 109 | # |
|---|
| | 110 | def get_htdocs_dirs(self): |
|---|
| | 111 | return [] |
|---|
| | 112 | |
|---|
| 97 | 113 | def get_templates_dirs(self): |
|---|
| 98 | 114 | from pkg_resources import resource_filename |
|---|
| 99 | 115 | return [resource_filename(__name__, 'templates')] |