2018-08-05 00:14:56 +00:00
|
|
|
import importlib
|
|
|
|
import pluggy
|
2019-05-02 05:09:03 +00:00
|
|
|
import sys
|
2018-08-05 00:14:56 +00:00
|
|
|
from . import hookspecs
|
|
|
|
|
2019-05-02 05:09:03 +00:00
|
|
|
DEFAULT_PLUGINS = ("datasette.publish.heroku", "datasette.publish.now")
|
2018-08-05 00:14:56 +00:00
|
|
|
|
|
|
|
pm = pluggy.PluginManager("datasette")
|
|
|
|
pm.add_hookspecs(hookspecs)
|
2019-05-02 05:09:03 +00:00
|
|
|
|
|
|
|
if not hasattr(sys, "_called_from_test"):
|
|
|
|
# Only load plugins if not running tests
|
|
|
|
pm.load_setuptools_entrypoints("datasette")
|
2018-08-05 00:14:56 +00:00
|
|
|
|
|
|
|
# Load default plugins
|
2018-08-28 07:36:22 +00:00
|
|
|
for plugin in DEFAULT_PLUGINS:
|
2018-08-05 00:14:56 +00:00
|
|
|
mod = importlib.import_module(plugin)
|
|
|
|
pm.register(mod, plugin)
|