本文整理匯總了Python中plone.app.blob.interfaces.IBlobbable.mimetype方法的典型用法代碼示例。如果您正苦於以下問題:Python IBlobbable.mimetype方法的具體用法?Python IBlobbable.mimetype怎麽用?Python IBlobbable.mimetype使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類plone.app.blob.interfaces.IBlobbable
的用法示例。
在下文中一共展示了IBlobbable.mimetype方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: set
# 需要導入模塊: from plone.app.blob.interfaces import IBlobbable [as 別名]
# 或者: from plone.app.blob.interfaces.IBlobbable import mimetype [as 別名]
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: testBlobbableOFSFileWithoutFileName
# 需要導入模塊: from plone.app.blob.interfaces import IBlobbable [as 別名]
# 或者: from plone.app.blob.interfaces.IBlobbable import mimetype [as 別名]
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')
示例3: testBlobbableOFSImage
# 需要導入模塊: from plone.app.blob.interfaces import IBlobbable [as 別名]
# 或者: from plone.app.blob.interfaces.IBlobbable import mimetype [as 別名]
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')
示例4: testBlobbableBinaryFile
# 需要導入模塊: from plone.app.blob.interfaces import IBlobbable [as 別名]
# 或者: from plone.app.blob.interfaces.IBlobbable import mimetype [as 別名]
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')
示例5: set
# 需要導入模塊: from plone.app.blob.interfaces import IBlobbable [as 別名]
# 或者: from plone.app.blob.interfaces.IBlobbable import mimetype [as 別名]
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)