summaryrefslogtreecommitdiff
path: root/backend/plugin/plugin.py
blob: 3e359ea700520ddb93a5ce62d10d830825109425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from posixpath import join

from genericpath import isfile

from plugin.binary_plugin import BinaryPlugin
from plugin.passive_plugin import PassivePlugin
from plugin.python_plugin import PythonPlugin


def get_plugin_backend(spec, plugin_directory, flags, logger):
    if spec == None and isfile(join(plugin_directory, "main.py")):
        return PythonPlugin(plugin_directory, "main.py", flags, logger)
    elif spec["type"] == "python":
        return PythonPlugin(plugin_directory, spec["file"], flags, logger)
    elif spec["type"] == "binary":
        return BinaryPlugin(plugin_directory, spec["file"], flags, logger)
    else:
        return PassivePlugin(logger)