Ejemplo n.º 1
0
    def post(self, batch='stitched'):
        """Handle HTTP POST requests."""
        batch = self.request.get('batch') or batch
        logging.info('batch name: %s' % batch)
        # for non-multipart
        #data = self.request.body_file
        data = cStringIO.StringIO(self.request.get('file'))
        archive = zipfile.ZipFile(data, 'r')
        user = users.get_current_user()
        req = StitchRequest(user.email(), batch, config.gs_bucket)
        for info in archive.infolist():
            # 2.6 image = archive.open(info.filename).read()
            image = archive.read(info.filename)
            logging.info('%s/%d bytes' % (info.filename, len(image)))
            req.AddFile(info.filename, image)
        logging.info('%s' % req.toJson())
        q = taskqueue.Queue('photostitch')
        tasks = []
        tasks.append(taskqueue.Task(payload=req.toJson(), method='PULL'))
        q.add(tasks)
        req.WriteState()

        self.redirect('/')