Ejemplo n.º 1
0
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'])]
Ejemplo n.º 2
0
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'])]