예제 #1
0
파일: main.py 프로젝트: Joycc/polascii
def upload(request):
    #print 'form:', request.form
    #print 'uploaded:', request.files

    response = HTTPResponse()
    # check data integrity:
    if request.files.get('data') and request.form.get('crc'):

        storage = request.files.get('data')[0] # raw object
        crc = request.form.get('crc')[0] # crc for compressed content

        if str(zlib.crc32(storage.value)) == crc: # check integrity
            # return file save result
            content = zlib.decompress(storage.value)
            # write to file here
            savefile = storage.filename if storage.filename else (datetime.now().strftime('%Y%m%d%H%M%S') + str(random.randint(0,100)) + '.html')
            fout = open(os.path.join(conf.get('upload_dir'), savefile), 'w')
            fout.write(content)
            fout.close()

            response.write(conf.get('upload_url_prefix') + savefile)
        else:
            return bad_request()
    else:
        # bad request
        return bad_request()
            
    return response
예제 #2
0
파일: main.py 프로젝트: terryoy/polascii
def upload(request):
    #print 'form:', request.form
    #print 'uploaded:', request.files

    response = HTTPResponse()
    # check data integrity:
    if request.files.get('data') and request.form.get('crc'):

        storage = request.files.get('data')[0]  # raw object
        crc = request.form.get('crc')[0]  # crc for compressed content

        if str(zlib.crc32(storage.value)) == crc:  # check integrity
            # return file save result
            content = zlib.decompress(storage.value)
            # write to file here
            savefile = storage.filename if storage.filename else (
                datetime.now().strftime('%Y%m%d%H%M%S') +
                str(random.randint(0, 100)) + '.html')
            fout = open(os.path.join(conf.get('upload_dir'), savefile), 'w')
            fout.write(content)
            fout.close()

            response.write(conf.get('upload_url_prefix') + savefile)
        else:
            return bad_request()
    else:
        # bad request
        return bad_request()

    return response
예제 #3
0
 def handler(request):
     if self.challenge_key not in request.query:
         return bad_request()
     challenge_code = last_item_adapter(
         request.query)[self.challenge_key]
     turing_number = ''.join(random.sample(self.chars, self.max_chars))
     if not self.cache.set(self.prefix + challenge_code,
                           (int(time()), turing_number),
                           self.timeout, self.namespace):
         return bad_request()
     response = HTTPResponse(content_type)
     self.image(turing_number).save(
         FileAdapter(response), format, **options)
     return response
예제 #4
0
def bad_request_with_detail(message):
    response = bad_request()
    response.write(json.dumps({"error": message}))
    return response
예제 #5
0
def bad_request_with_detail(message):
    response = bad_request()
    response.write(json.dumps({'error': message}))
    return response