Exemplo n.º 1
0
 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'
Exemplo n.º 2
0
 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'
Exemplo n.º 3
0
 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()
Exemplo n.º 4
0
 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()