Exemplo n.º 1
0
def saveFile(name):
    """
    save plugin code. code is provides via http body
    :param name: the plugin name
    :return: empty http reponse
    """
    with open("./modules/plugins/" + name + "/__init__.py", "wb") as fo:
        fo.write(request.get_data())
    cbpi.emit_message("PLUGIN %s SAVED" % (name))

    return ('', 204)
Exemplo n.º 2
0
def createPlugin(name):
    """
    Create a new plugin file
    :param name: the plugin name
    :return: empty http response 204
    """
    if not os.path.exists("./modules/plugins/" + name):
        os.makedirs("./modules/plugins/" + name)
        with open("./modules/plugins/" + name + "/__init__.py", "wb") as fo:
            fo.write("")
        cbpi.emit_message("PLUGIN %s CREATED" % (name))
        return ('', 204)
    else:
        cbpi.emit_message("Failed to create plugin %s. Name arlready in use" %
                          (name))
        return ('', 500)
Exemplo n.º 3
0
def reload(name):
    """
    hot reload plugnin
    :param name:
    :return:
    """
    try:
        if name in cache["modules"]:
            reload(cache["modules"][name])
            cbpi.emit_message("REALOD OF PLUGIN %s SUCCESSFUL" % (name))
            return ('', 204)
        else:
            cache["modules"][name] = import_module("modules.plugins.%s" % (name))
            return ('', 204)
    except Exception as e:
        cbpi.emit_message("REALOD OF PLUGIN %s FAILED" % (name))
        return json.dumps(e.message)