def convert(self): """データ変換処理を実行する。""" stts = {} key = self.get_stt_prev('key') blob_info = blobstore.BlobInfo(blobstore.BlobKey(key)) zr = blob_info.open() zi = zipfile.ZipFile(zr, 'r') if len(zi.infolist()) < 1: zi.close() zr.close() return None zw = StringIO.StringIO() zo = zipfile.ZipFile(zw, 'w', zipfile.ZIP_DEFLATED) self.proc_all(zi, zo, stts) zo.close() zi.close() zr.close() con = zw.getvalue() stts['csz'] = len(con) sha1 = hashlib.sha1() sha1.update(con) stts['dig'] = sha1.hexdigest() stts['key'] = save_blob(con, '%(tsk)s_%(cat)s-%(ts)s.zip' % { 'cat':self.get_cat(), 'tsk':self.get_task(), 'ts':self.get_ts_short(), }) self.set_stt(stts) return 'ok'
def convert(self): """データ変換処理を実行する。""" stts = {} key = self.get_stt_prev('key') blob_info = blobstore.BlobInfo(blobstore.BlobKey(key)) zr = blob_info.open() zi = zipfile.ZipFile(zr, 'r') if len(zi.infolist()) < 1: zi.close() zr.close() return None zw = StringIO.StringIO() zo = zipfile.ZipFile(zw, 'w', zipfile.ZIP_DEFLATED) self.proc_all(zi, zo, stts) zo.close() zi.close() zr.close() con = zw.getvalue() stts['csz'] = len(con) sha1 = hashlib.sha1() sha1.update(con) stts['dig'] = sha1.hexdigest() stts['key'] = save_blob( con, '%(tsk)s_%(cat)s-%(ts)s.zip' % { 'cat': self.get_cat(), 'tsk': self.get_task(), 'ts': self.get_ts_short(), }) self.set_stt(stts) return 'ok'
def __save(self, con, cat, stts): stts['csz'] = len(con) stts['key'] = model.save_blob(con, "%(cat)s.zip" % {'cat': cat}) blob_info = blobstore.BlobInfo(blobstore.BlobKey(stts['key'])) zr = blob_info.open() zi = zipfile.ZipFile(zr, 'r') if len(zi.infolist()) != 1: zi.close() zr.close() logging.error('No ZIP entry.') return None for zip_info in zi.infolist(): t = zip_info.date_time stts['ts'] = "%(y)04d-%(m)02d-%(d)02d %(H)02d:%(M)02d:%(S)02d" % { 'y': t[0], 'm': t[1], 'd': t[2], 'H': t[3], 'M': t[4], 'S': t[5] } stts['dsz'] = zip_info.file_size stts['cnt'] = 1 break zi.close() zr.close()
def __save(self, con, cat, stts): stts['csz'] = len(con) stts['key'] = model.save_blob(con, "%(cat)s.zip" % {'cat':cat}) blob_info = blobstore.BlobInfo(blobstore.BlobKey(stts['key'])) zr = blob_info.open() zi = zipfile.ZipFile(zr, 'r') if len(zi.infolist()) != 1: zi.close() zr.close() logging.error('No ZIP entry.') return None for zip_info in zi.infolist(): t = zip_info.date_time stts['ts'] = "%(y)04d-%(m)02d-%(d)02d %(H)02d:%(M)02d:%(S)02d" % { 'y':t[0], 'm':t[1], 'd':t[2], 'H':t[3], 'M':t[4], 'S':t[5] } stts['dsz'] = zip_info.file_size stts['cnt'] = 1 break zi.close() zr.close()