Example #1
0
    def init(self):
        super().init()

        @self.bp.route('/api/plugins')
        async def get_plugins(request):
            raw_plugins = plugin.get_plugins_in_category(self.plugin_category)
            plugins = [{
                'id': raw_plugin.details.get('Core', 'Id'),
                'name': raw_plugin.name,
                'description': raw_plugin.description,
                'configurable': raw_plugin.plugin_object.configurable,
            } for raw_plugin in raw_plugins]
            return response.json({
                'code': 200,
                'data': {
                    'available': plugins,
                    'enabled': self._get_current_activated_plugins(),
                },
            })

        @self.bp.route('/api/plugins/enabled', methods=['POST'])
        async def set_activated_plugins(request):
            activated_plugins = request.json['id']
            plugin.set_activated_plugins(self.plugin_category,
                                         activated_plugins)
            self.config[
                'enabled_plugins'] = self._get_current_activated_plugins()
            self.save_config()
            return response.json({
                'code': 200,
                'data': activated_plugins,
            })

        event.subscribe(self._activate_plugins, ['hexi.start'])
        plugin.add_category(self.plugin_category, self.plugin_class)
Example #2
0
  def init(self):
    super().init()

    self.last_signal = EMPTY_SIGNAL
    asyncio.ensure_future(self.fetch_signal_loop_async())

    self.data_log_queue.attach_ws_endpoint(self.bp, '/api/input_log')
    event.subscribe(self.on_input_raw_signal, ['hexi.pipeline.input.raw_data'])
Example #3
0
def init():
    event.subscribe(on_start, ['hexi.start'])
Example #4
0
 def init(self):
   super().init()
   self.data_log_queue.attach_ws_endpoint(self.bp, '/api/mca_log')
   event.subscribe(self.on_mca_raw_signal, ['hexi.pipeline.mca.raw_data'])
Example #5
0
 def activate(self):
     super().activate()
     event.subscribe(self._on_input_signal, ['hexi.pipeline.input.data'])
Example #6
0
 def activate(self):
   super().activate()
   event.subscribe(self._on_mca_signal, ['hexi.pipeline.mca.data'])