def post(self): randname = self.get_argument('random', False) hum = self.get_argument('human','') is_json = self.get_argument('json', False) if not human.verify(hum): return self.write('fail') tmp_ = gen_key() dest_dir = '{}/{}'.format( self.application.settings.get('tmpdown'), tmp_ ) mkdir(dest_dir) fff = self.request.files['upfile'][0] fn = fff['filename'] parts = (fn or 'up.file').split('.') if randname: fname = '{}.{}'.format(gen_key(), slugify(parts[-1])) else: if len(parts) > 1: fname = slugify(''.join(parts[:-1])) + "." + slugify(parts[-1]) else: fname = slugify(parts[0]) fh = open('{}/{}'.format(dest_dir, fname), 'wb') fh.write(fff['body']) fh.close() fileuri = "https://33ad.org/tmp/%s/%s" % (tmp_, fname) if is_json: self.write(json_dumps({ 'uri': fileuri })) else: self.render( 'tmp_done.html', fileuri = fileuri, )
def __init__(self, text, hi=None, key=None, c_at=None): self.key = key or gen_key() self.text = text self.hi = hi self.c_at = c_at or datetime.now()