Exemple #1
0
 def test_delete(self):
     bucket = Bucket(self.path, self.ids.pop)
     self.assertEqual(bucket.put(b'some data'), 'id_0000')
     self.assertEqual(bucket.put(b'some more data'), 'id_0001')
     self.assertEqual(sorted(bucket.keys()), ['id_0000', 'id_0001'])
     for item_id in bucket.keys():
         bucket.delete(item_id)
     self.assertEqual(sorted(bucket.keys()), [])
Exemple #2
0
    def add_image(self, *_, **kwargs):
        """accept uploaded images and attach them to the record"""

        dummy = zoom.Record(
            filename='dummy.png',
            file=io.StringIO('test'),
        )

        # put the uploaded image data in a bucket
        path = os.path.join(zoom.system.site.data_path, 'buckets')
        bucket = Bucket(path)
        f = kwargs.get('file', dummy)
        name = f.filename
        data = f.file.read()
        item_id = bucket.put(data)

        # create an image record
        image = Image(
            image_id=item_id,
            image_size=len(data),
            image_name=name,
            draft=True,
        )
        images = zoom.store.store_of(Image)
        images.put(image)

        return item_id
Exemple #3
0
    def add_image(self, *_, **kwargs):
        """accept uploaded images and attach them to the record"""

        dummy = Record(
            filename='dummy.png',
            file=io.StringIO('test'),
        )

        # put the uploaded image data in a bucket
        path = os.path.join(zoom.system.site.data_path, 'buckets')
        bucket = Bucket(path)
        f = kwargs.get('file', dummy)
        name = f.filename
        data = f.file.read()
        item_id = bucket.put(data)

        # create an attachment record for this bucket
        c = self.collection
        field_name = kwargs.get('field_name', 'unknown')
        field_value = kwargs.get('field_value', 'unknown')
        attachment = Attachment(
            record_kind=c.store.kind,
            field_name=field_name,
            field_value=field_value,
            attachment_id=item_id,
            attachment_size=len(data),
            attachment_name=name,
        )
        attachments = zoom.store.store_of(Attachment)
        attachments.put(attachment)

        return item_id
Exemple #4
0
 def add_image(self, *a, **k):
     """add a ImagesField image"""
     path = os.path.join(system.site.data_path, 'buckets')
     bucket = Bucket(path)
     f = k.get('file')
     name = f.filename
     data = f.file.read()
     item_id = bucket.put(data)
     return item_id
Exemple #5
0
 def add_image(self, *a, **k):
     """add a ImagesField image"""
     path = os.path.join(system.site.data_path, 'buckets')
     bucket = Bucket(path)
     f = k.get('file')
     name = f.filename
     data = f.file.read()
     item_id = bucket.put(data)
     return item_id
Exemple #6
0
 def test_keys(self):
     bucket = Bucket(self.path, self.ids.pop)
     self.assertEqual(bucket.put(b'some data'), 'id_0000')
     self.assertEqual(bucket.put(b'some more data'), 'id_0001')
     self.assertEqual(sorted(bucket.keys()), ['id_0000', 'id_0001'])
Exemple #7
0
 def test_item_exists(self):
     bucket = Bucket(self.path, self.ids.pop)
     item_id = bucket.put(b'some data')
     self.assertEqual(item_id, 'id_0000')
     self.assertEqual(bucket.exists(item_id), True)
Exemple #8
0
 def test_put_get(self):
     bucket = Bucket(self.path, self.ids.pop)
     item_id = bucket.put(b'some data')
     self.assertEqual(item_id, 'id_0000')
     self.assertEqual(bucket.get(item_id), b'some data')