ckserver/persistmods/views.py

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.