def stored_process(environ, start_response): from cgi import FieldStorage import cgitb; cgitb.enable(display=0, logdir="/tmp") form = FieldStorage(fp=environ['wsgi.input'], environ=environ) print(form.keys()) start_response('200 Ok', [('Content-type', 'text/javascript')]) if "oper" not in form: #print("Bad Request") return [json.dumps([False, 'Bad Request'])] method = environ['REQUEST_METHOD'].upper() if method == 'GET' or method == 'HEAD': return [json.dumps([False, 'bad request'])] oper = form['oper'] print(oper) from store import ImSto imsto = ImSto() if oper.value == 'delete': id = form['id'] return [json.dumps(imsto.delete(id.value))] if oper.value == 'add': if "new_file" not in form: return [json.dumps([False, 'please select a file'])] new_file = form['new_file'] if new_file is None: return [json.dumps([False, 'invalid upload field'])] print(type(new_file)) result = [] if type(new_file) == type([]): for f in new_file: print('%r %r %r %r %r %r' % (f.name, f.filename, f.type, f.disposition, f.file, f.length)) id = imsto.store(f.file, ctype=f.type, name=f.filename) print('new_id: %r' % id) result.append(id) else: f = new_file print('single file %r %r' % (f.name, f.filename)) id = imsto.store(f.file, ctype=f.type, name=f.filename) print('new_id: %r' % id) result = id if hasattr(imsto, 'close'): imsto.close() return [json.dumps(result)] else: return [json.dumps([False, 'invalid operation'])]
def stored_process(environ, start_response): from cgi import FieldStorage form = FieldStorage(environ=environ) #print(form.keys()) start_response('200 Ok', [('Content-type', 'text/javascript')]) method = environ['REQUEST_METHOD'].upper() if method == 'GET' or method == 'HEAD': return [json.dumps([False, 'bad request'])] oper = form['oper'] print(oper) from store import ImSto imsto = ImSto() if oper.value == 'delete': id = form['id'] return [json.dumps(imsto.delete(id.value))] if oper.value == 'add': new_file = form['new_file'] if new_file is None: return [json.dumps([False, 'invalid upload field'])] print(type(new_file)) result = [] if type(new_file) == type([]): for f in new_file: print('%r %r %r %r %r %r' % (f.name, f.filename, f.type, f.disposition, f.file, f.length)) id = imsto.store(f.file, ctype=f.type, name=f.filename) print('new_id: %r' % id) result.append(id) else: f = new_file print('single file %r %r' % (f.name, f.filename)) id = imsto.store(f.file, ctype=f.type, name=f.filename) print('new_id: %r' % id) result.append(id) if hasattr(imsto, 'close'): imsto.close() return [json.dumps(result)] else: return [json.dumps([False, 'invalid operation'])]