本文整理匯總了Python中plone.app.blob.interfaces.IBlobbable類的典型用法代碼示例。如果您正苦於以下問題:Python IBlobbable類的具體用法?Python IBlobbable怎麽用?Python IBlobbable使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IBlobbable類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: set
def set(self, instance, value, **kwargs):
""" use input value to populate the blob and set the associated
file name and mimetype. the latter can be overridden by an
option "mimetype" keyword argument """
if value in ('DELETE_FILE', 'DELETE_IMAGE'):
super(BlobField, self).unset(instance, **kwargs)
return
# create a new blob instead of modifying the old one to
# achieve copy-on-write semantics
blob = BlobWrapper(self.default_content_type)
if isinstance(value, basestring):
value = StringIO(value) # simple strings cannot be adapted...
setattr(value, 'filename', kwargs.get('filename', None))
if value is not None:
blobbable = IBlobbable(value)
try:
blobbable.feed(blob.getBlob())
except ReuseBlob, exception:
blob.setBlob(exception.args[0]) # reuse the given blob
mimetype = kwargs.get('mimetype', None)
if not mimetype:
mimetype = blobbable.mimetype()
if mimetype and mimetype != 'None':
blob.setContentType(mimetype)
blob.setFilename(kwargs.get('filename', blobbable.filename()))
示例2: store
def store(self, data):
blob = Blob()
blobbable = IBlobbable(data)
try:
blobbable.feed(blob)
except ReuseBlob, exception:
blob = exception.args[0] # reuse the given blob
示例3: testBlobbableOFSFileWithoutFileName
def testBlobbableOFSFileWithoutFileName(self):
obj = File('foo', 'Foo', getFile('plone.pdf'), 'application/pdf')
blobbable = IBlobbable(obj)
target = Blob()
blobbable.feed(target)
self.assertEqual(target.open('r').read(),
getFile('plone.pdf').read())
self.assertEqual(blobbable.filename(), '')
self.assertEqual(blobbable.mimetype(), 'application/pdf')
示例4: testBlobbableOFSImage
def testBlobbableOFSImage(self):
gif = getImage()
obj = Image('foo', 'Foo', StringIO(gif))
obj.filename = 'foo.gif'
blobbable = IBlobbable(obj)
target = Blob()
blobbable.feed(target)
self.assertEqual(target.open('r').read(), gif)
self.assertEqual(blobbable.filename(), 'foo.gif')
self.assertEqual(blobbable.mimetype(), 'image/gif')
示例5: testBlobbableBinaryFile
def testBlobbableBinaryFile(self):
_file = os.path.join(os.path.dirname(__file__), 'data', 'image.gif')
with open(_file, 'rb') as f:
obj = Binary(f)
obj.filename = 'image.gif'
blobbable = IBlobbable(obj)
target = Blob()
blobbable.feed(target)
self.assertEqual(target.open('r').read(),
getFile('image.gif').read())
self.assertEquals(blobbable.filename(), 'image.gif')
self.assertEquals(blobbable.mimetype(), 'image/gif')
示例6: set
def set(self, instance, value, **kwargs):
""" use input value to populate the blob and set the associated
file name and mimetype """
if value == "DELETE_FILE":
ObjectField.unset(self, instance, **kwargs)
return
# create a new blob instead of modifying the old one to
# achieve copy-on-write semantics.
if isinstance(value, basestring):
# make StringIO from string, because StringIO may be adapted to Blobabble
value = StringIO(value)
if value is not None:
blobbable = IBlobbable(value)
#move blob ctor down to where we know the mimetype
blob = BlobWrapper(blobbable.mimetype())
blobbable.feed(blob.getBlob())
blob.setContentType(blobbable.mimetype())
blob.setFilename(blobbable.filename())
ObjectField.set(self, instance, blob, **kwargs)
self.fixAutoId(instance)
示例7: testBlobbableEmptyATFile
def testBlobbableEmptyATFile(self):
obj = ATFile('foo')
blobbable = IBlobbable(obj)
target = Blob()
blobbable.feed(target)
示例8: manage_upload
def manage_upload(self, data):
if isinstance(data, basestring):
data = StringIO(data)
blobbable = IBlobbable(data)
blobbable.feed(self.getBlob())