def submit(self, zipfile=None, debug=False): if zipfile==None: return loader.load("upload.tpl.html").generate( debug=debug).render("html") else: zipobj = ZipFile(StringIO(zipfile.file.read())) for info in zipobj.infolist(): if info.filename.endswith("w3g"): data = zipobj.open(info).read() timestamp = time.mktime( datetime(*info.date_time).timetuple()) metadata = { 'file_timestamp': int(timestamp), 'upload_timestamp': int(time.time()), 'uploader_ip': cherrypy.request.remote.ip } util.add_replay(data, metadata) return 'great success'
def upload(self, replay_file=None, timestamp=None): timestamp, size, tmp_io = int(timestamp), 0, StringIO() while True: chunk = replay_file.file.read(8192) size += len(chunk) if not chunk: break else: tmp_io.write(chunk) yield "%8d" % size yield '-'*8 tmp_io.seek(0) data = tmp_io.read() metadata = { 'file_timestamp': int(timestamp), 'upload_timestamp': int(time.time()), 'uploader_ip': cherrypy.request.remote.ip } util.add_replay(data, metadata)