55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
from django.shortcuts import render
|
|
from django.http import HttpResponse
|
|
from types import MethodType
|
|
import persistmods.modtypes
|
|
import logging
|
|
|
|
|
|
|
|
mods={}
|
|
|
|
logging.basicConfig(filename='ckserver.log', level=logging.INFO,
|
|
format='%(asctime)s - %(levelname)s - %(message)s')
|
|
def start(request):
|
|
nodetype = request.GET.get("nodetype")
|
|
nodename = request.GET.get("nodename")
|
|
args = request.GET.get("args")
|
|
|
|
mods[nodename]=""
|
|
logging.info("module created")
|
|
|
|
return HttpResponse(nodetype+" "+nodename)
|
|
|
|
def stop(request):
|
|
nodename = request.GET.get("nodename")
|
|
|
|
del(mods[nodename])
|
|
logging.info("module deleted")
|
|
|
|
return HttpResponse(nodename)
|
|
|
|
|
|
def execute(request):
|
|
nodename = request.GET.get("nodename")
|
|
mods[nodename].execute()
|
|
logging.info("module executed")
|
|
|
|
return HttpResponse(nodename)
|
|
|
|
def get_logs(request):
|
|
nodename = request.GET.get("nodename")
|
|
with open("ckserver.log", "r") as f:
|
|
lines = f.readlines()
|
|
|
|
return HttpResponse(lines)
|
|
|
|
def set_call(request):
|
|
nodename = request.GET.get("nodename")
|
|
code = tequest.GET.get("code")
|
|
|
|
mods[nodename].execute=MethodType(eval(code),mods[nodename])
|
|
logging.info("module code set")
|
|
|
|
return HttpResponse(nodename)
|
|
# Create your views here.
|