Source code for stginga.plugin_info
"""This module contains functions to handle ``stginga`` plugins.
See :ref:`stginga-run`.
"""
# GINGA
from ginga.misc.Bunch import Bunch
__all__ = ['load_plugins', 'show_plugin_install_info']
[docs]
def load_plugins(ginga):
"""Load the ``stginga`` plugins.
Parameters
----------
ginga
The ginga app object that is provided to ``pre_gui_config`` in
``ginga_config.py``.
"""
stglobal_plugins, stlocal_plugins = _get_stginga_plugins()
# Add custom global plugins
for gplg in stglobal_plugins:
if gplg['module'] in ginga.global_plugins:
ginga.logger.info(f'Plugin {gplg["module"]} already loaded in '
'Ginga. Not adding again.')
else:
ginga.add_global_plugin(gplg)
# Add custom local plugins
for lplg in stlocal_plugins:
if lplg['module'] in ginga.local_plugins:
ginga.logger.info(f'Plugin {lplg["module"]} already loaded in '
'Ginga. Not adding again.')
else:
ginga.add_local_plugin(lplg)
def _get_stginga_plugins():
gpfx = 'stginga.plugins' # To load custom plugins in Ginga namespace
global_plugins = []
local_plugins = [
Bunch(module='BackgroundSub', workspace='dialogs', pfx=gpfx,
category='Custom', ptype='local'),
Bunch(module='BadPixCorr', workspace='dialogs', pfx=gpfx,
category='Custom', ptype='local'),
Bunch(module='DQInspect', workspace='dialogs', pfx=gpfx,
category='Custom', ptype='local'),
Bunch(module='SNRCalc', workspace='dialogs', pfx=gpfx,
category='Custom', ptype='local'),
]
return global_plugins, local_plugins
[docs]
def show_plugin_install_info():
"""Print the documentation on how to install the ginga plugins."""
print('See https://stginga.readthedocs.io/en/latest/stginga/run.html')