Beispiel #1
0
 def LoadImage(self, data, request):
     oglID = request.get('oglID')
     lease = OilGasLease.get_by_key_name( oglID )
     if lease:                       
         blob = files.blobstore.create( mime_type='application/pdf',
             _blobinfo_uploaded_filename=lease.fileName,
                     
         )
         with files.open(blob, 'a') as f:
             data.value = data.file.read(65536)
             while data.value:
                 f.write(data.value)
                 data.value = data.file.read(65536)
         files.finalize(blob)
         key = files.blobstore.get_blob_key(blob) 
                 
         image = DocImage( oilGasLease = lease, image=key )
         image.put()        
     else:
         raise LeaseMissingLoadError(oglID)
Beispiel #2
0
 def DeleteAll(self):
     print "DELETED!"
     db.delete(OilGasLease.all())
     db.delete(DocImage.all())
     db.delete(Tract.all())
         
     query = blobstore.BlobInfo.all()
     blobs = query.fetch(400)
     if len(blobs) > 0:
         for blob in blobs:
             blob.delete()
Beispiel #3
0
    def LoadImage(self, data, request):
        oglID = request.get('oglID')
        lease = OilGasLease.get_by_key_name(oglID)
        if lease:
            blob = files.blobstore.create(
                mime_type='application/pdf',
                _blobinfo_uploaded_filename=lease.fileName,
            )
            with files.open(blob, 'a') as f:
                data.value = data.file.read(65536)
                while data.value:
                    f.write(data.value)
                    data.value = data.file.read(65536)
            files.finalize(blob)
            key = files.blobstore.get_blob_key(blob)

            image = DocImage(oilGasLease=lease, image=key)
            image.put()
        else:
            raise LeaseMissingLoadError(oglID)
Beispiel #4
0
    def DeleteAll(self):
        print "DELETED!"
        db.delete(OilGasLease.all())
        db.delete(DocImage.all())
        db.delete(Tract.all())

        query = blobstore.BlobInfo.all()
        blobs = query.fetch(400)
        if len(blobs) > 0:
            for blob in blobs:
                blob.delete()
Beispiel #5
0
def CreateZipFile(date, zipFileKey):

    #leases = OilGasLease.all().filter("date >", date)
    try:
        zipFileModel = ZipFileModel.get(db.Key(zipFileKey))
        zipFileModel.status = 'running'
        zipFileModel.put()

        stream = StringIO.StringIO()
        zipFile = zipfile.ZipFile(stream,
                                  'w',
                                  compression=zipfile.ZIP_DEFLATED)

        leases = OilGasLease.all()

        if date:
            leases = leases.filter('date >', date)

        s = OilGasLease.ToCsv(leases)
        zipFile.writestr("OilGasLease.csv", s.getvalue())

        tracts = list()
        tempFiles = list()
        count = 0
        try:
            for lease in leases:
                tracts.extend(lease.Tracts)
                if count % 100 == 0:
                    zipFileModel.status = str(count)
                    zipFileModel.put()
                count += 1

        except db.Timeout:
            leases = OilGasLease.all()
            if date:
                leases = leases.filter('date >', date)

            for lease in leases.run(offset=count):
                tracts.extend(lease.Tracts)
                if csvOnly == False:
                    DocImage.WriteToZip(lease.Images, zipFile)

                if count % 100 == 0:
                    zipFileModel.status = str(count)
                    zipFileModel.put()
                count += 1

        zipFileModel.status = 'writing Tract data to zipfile'
        zipFileModel.put()
        s = Tract.ToCsv(tracts)
        zipFile.writestr("Tracts.csv", s.getvalue())
        zipFile.close()

        blob = files.blobstore.create(
            mime_type='application/zip',
            _blobinfo_uploaded_filename='LandStreamData.zip')

        zipFileModel.status = 'writing zip file to blobstore'
        zipFileModel.put()
        with files.open(blob, 'a') as f:
            stream.seek(0)
            while True:
                buf = stream.read(2048)
                if buf == "":
                    break
                f.write(buf)

        files.finalize(blob)
        zipFileModel.blob = files.blobstore.get_blob_key(blob)
        zipFileModel.status = 'done'
        zipFileModel.put()
    except Exception, detail:
        zipFileModel.status = repr(detail)
        zipFileModel.put()