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.