def uninstall(plugin_name=None, plugin_pk=None): if plugin_pk: plugin_list = Plugin.objects(pk=plugin_pk) else: plugin_list = Plugin.objects(name=plugin_name) if not plugin_list: return {'status': 'fail', 'log': 'Plugin not installed'} else: for plugin in plugin_list: rmtree(LISA_PATH + '/plugins/' + plugin['name']) plugin.delete() for cron in Cron.objects(plugin=plugin): cron.delete() for rule in Rule.objects(plugin=plugin): rule.delete() return {'status': 'success', 'log': 'Plugin uninstalled'}
def disable(plugin_name=None, plugin_pk=None): if plugin_pk: plugin_list = Plugin.objects(pk=plugin_pk) else: plugin_list = Plugin.objects(name=plugin_name) for plugin in plugin_list: if not plugin.enabled: return {'status': 'fail', 'log': 'Plugin already disabled'} else: plugin.enabled = False plugin.save() for cron in Cron.objects(plugin=plugin): cron.enabled = False cron.save() for rule in Rule.objects(plugin=plugin): rule.enabled = False rule.save() return {'status': 'success', 'log': 'Plugin disabled'}