Show More
@@ -33,7 +33,8 b' from rhodecode.model.settings import Set' | |||||
33 |
|
33 | |||
34 | log = logging.getLogger(__name__) |
|
34 | log = logging.getLogger(__name__) | |
35 |
|
35 | |||
36 | # Legacy plugins are stored with this prefix in 'auth_plugins'. |
|
36 | # Plugin ID prefixes to distinct between normal and legacy plugins. | |
|
37 | plugin_prefix = 'egg:' | |||
37 | legacy_plugin_prefix = 'py:' |
|
38 | legacy_plugin_prefix = 'py:' | |
38 |
|
39 | |||
39 |
|
40 | |||
@@ -44,16 +45,24 b" legacy_plugin_prefix = 'py:'" | |||||
44 | # TODO: When refactoring this think about splitting it up into distinct |
|
45 | # TODO: When refactoring this think about splitting it up into distinct | |
45 | # discover, load and include phases. |
|
46 | # discover, load and include phases. | |
46 | def _discover_plugins(config, entry_point='enterprise.plugins1'): |
|
47 | def _discover_plugins(config, entry_point='enterprise.plugins1'): | |
47 | _discovered_plugins = {} |
|
|||
48 |
|
||||
49 | for ep in iter_entry_points(entry_point): |
|
48 | for ep in iter_entry_points(entry_point): | |
50 |
plugin_id = ' |
|
49 | plugin_id = '{}:{}#{}'.format( | |
|
50 | plugin_prefix, ep.dist.project_name, ep.name) | |||
51 | log.debug('Plugin discovered: "%s"', plugin_id) |
|
51 | log.debug('Plugin discovered: "%s"', plugin_id) | |
|
52 | try: | |||
52 | module = ep.load() |
|
53 | module = ep.load() | |
53 | plugin = module(plugin_id=plugin_id) |
|
54 | plugin = module(plugin_id=plugin_id) | |
54 | config.include(plugin.includeme) |
|
55 | config.include(plugin.includeme) | |
|
56 | except Exception as e: | |||
|
57 | log.exception( | |||
|
58 | 'Exception while loading authentication plugin ' | |||
|
59 | '"{}": {}'.format(plugin_id, e.message)) | |||
55 |
|
60 | |||
56 | return _discovered_plugins |
|
61 | ||
|
62 | def _import_legacy_plugin(plugin_id): | |||
|
63 | module_name = plugin_id.split(legacy_plugin_prefix, 1)[-1] | |||
|
64 | module = importlib.import_module(module_name) | |||
|
65 | return module.plugin_factory(plugin_id=plugin_id) | |||
57 |
|
66 | |||
58 |
|
67 | |||
59 | def _discover_legacy_plugins(config, prefix=legacy_plugin_prefix): |
|
68 | def _discover_legacy_plugins(config, prefix=legacy_plugin_prefix): | |
@@ -66,22 +75,14 b' def _discover_legacy_plugins(config, pre' | |||||
66 | enabled_plugins = auth_plugins.app_settings_value |
|
75 | enabled_plugins = auth_plugins.app_settings_value | |
67 | legacy_plugins = [id_ for id_ in enabled_plugins if id_.startswith(prefix)] |
|
76 | legacy_plugins = [id_ for id_ in enabled_plugins if id_.startswith(prefix)] | |
68 |
|
77 | |||
69 | log.debug('Importing these legacy authentication plugins {}'.format( |
|
|||
70 | legacy_plugins)) |
|
|||
71 |
|
||||
72 | for plugin_id in legacy_plugins: |
|
78 | for plugin_id in legacy_plugins: | |
73 | module_name = plugin_id.split(prefix, 1)[-1] |
|
79 | log.debug('Legacy plugin discovered: "%s"', plugin_id) | |
74 | try: |
|
80 | try: | |
75 | module = importlib.import_module(module_name) |
|
81 | plugin = _import_legacy_plugin(plugin_id) | |
76 | plugin = module.plugin_factory(plugin_id=plugin_id) |
|
|||
77 | config.include(plugin.includeme) |
|
82 | config.include(plugin.includeme) | |
78 | except ImportError as e: |
|
|||
79 | log.error( |
|
|||
80 | 'ImportError while importing legacy authentication plugin ' |
|
|||
81 | '"{}": {}'.format(plugin_id, e.message)) |
|
|||
82 | except Exception as e: |
|
83 | except Exception as e: | |
83 |
log.e |
|
84 | log.exception( | |
84 |
'Exception while |
|
85 | 'Exception while loading legacy authentication plugin ' | |
85 | '"{}": {}'.format(plugin_id, e.message)) |
|
86 | '"{}": {}'.format(plugin_id, e.message)) | |
86 |
|
87 | |||
87 |
|
88 |
General Comments 0
You need to be logged in to leave comments.
Login now