def index(request): language = request.POST.get('lang', '') name = request.POST.get('name', '') code_snippet = request.POST.get('snippet','') file_path = '/var/chroot/tmp/snippet.' + 'php' file_path = file_path.strip() if code_snippet: snippetObj = Snippet(snippet=code_snippet, language="php") snippetObj.save() print snippetObj.getId() f = open('/var/chroot/tmp/snippet' + str(snippetObj.getId()) + '.php', 'w') snippet_file = File(f) snippet_file.write(code_snippet) f.flush() snippet_file.closed #command = Command("chroot '/var/chroot' su - sandboxuser -c 'php /tmp/snippet.php') command = Command("schroot -c 'lucid' -d '/' -u sandboxuser -- php /tmp/snippet" + str(snippetObj.getId()) + ".php") output = command.run(timeout=5) print output #fout = open('/var/chroot/fout.txt', 'w') #out_file = File(fout) #out_file.write(output[2]) #fout.flush() #ferr = open('/var/chroot/ferr.txt', 'w') #err_file = File(ferr) #err_file.write(output[1]) #ferr.flush() filestats = Filestats(snippetid=snippetObj,error=output[1],result=output[2]) filestats.save() else: return render_to_response('index.html', {'form' : IDEForm }, RequestContext(request)) return render_to_response('index.html', {'form' : IDEForm }, RequestContext(request))
def post_save(self, obj, created=False): f = open('/var/chroot/tmp/snippet' + str(obj.id) + '.php', 'w') snippet_file = File(f) snippet_file.write(obj.snippet) f.flush() snippet_file.closed command = Command("schroot -c 'lucid' -d '/' -u sandboxuser -- php /tmp/snippet" + str(obj.id) + ".php") output = command.run(timeout=3) filestats = Filestats(snippetid=obj, creator = self.request.user, error=output[1],result=output[2]) filestats.save()