This commit reverts namespace for the plugins and uses a module prefix
"deluge_" in it's place. The distribution package name remains the same
for now but will also be considered to use a prefix to help find the
third-party plugins e.g. Deluge-{Plugin} and the pluginmanager will
strip the prefix for displaying.
The change is a result of problems trying to package Deluge with
pyinstaller and the pkg_resources namespaces is not compatible.
Testing alternatives to using the pkgutil or PEP420 (native) namespaces
did not yield any joy either as importing eggs with namespaces does not
work. [1]
At this point importable eggs are considered deprecated but there is no
viable alternative yet. [2]
[1] https://github.com/pypa/packaging-problems/issues/212
[2] https://github.com/pypa/packaging-problems/issues/244
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (C) 2009 Damien Churchill <damoxc@gmail.com>
|
|
#
|
|
# This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with
|
|
# the additional special exception to link portions of this program with the OpenSSL library.
|
|
# See LICENSE for more details.
|
|
#
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
from deluge.plugins.init import PluginInitBase
|
|
|
|
|
|
class CorePlugin(PluginInitBase):
|
|
def __init__(self, plugin_name):
|
|
from .core import Core as _pluginCls
|
|
|
|
self._plugin_cls = _pluginCls
|
|
super(CorePlugin, self).__init__(plugin_name)
|
|
|
|
|
|
class GtkUIPlugin(PluginInitBase):
|
|
def __init__(self, plugin_name):
|
|
from .gtkui import GtkUI as _pluginCls
|
|
|
|
self._plugin_cls = _pluginCls
|
|
super(GtkUIPlugin, self).__init__(plugin_name)
|
|
|
|
|
|
class WebUIPlugin(PluginInitBase):
|
|
def __init__(self, plugin_name):
|
|
from .webui import WebUI as _pluginCls
|
|
|
|
self._plugin_cls = _pluginCls
|
|
super(WebUIPlugin, self).__init__(plugin_name)
|