当前位置: 首页>>代码示例>>Python>>正文


Python interfaces.IFile类代码示例

本文整理汇总了Python中plone.app.contenttypes.interfaces.IFile的典型用法代码示例。如果您正苦于以下问题:Python IFile类的具体用法?Python IFile怎么用?Python IFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了IFile类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_fix_interface_for_file

    def test_fix_interface_for_file(self):
        self.obj.portal_type = 'File'
        self.catalog.reindexObject(self.obj)

        self.portal.restrictedTraverse('fix_base_classes')()

        self.assertTrue(IFile.providedBy(self.obj))
开发者ID:enfold,项目名称:plone.app.contenttypes,代码行数:7,代码来源:test_migration_browser.py

示例2: test_factory

 def test_factory(self):
     fti = queryUtility(
         IDexterityFTI,
         name='File'
     )
     factory = fti.factory
     new_object = createObject(factory)
     self.failUnless(IFile.providedBy(new_object))
开发者ID:mingtak,项目名称:prome,代码行数:8,代码来源:test_file.py

示例3: Format

 def Format(self):
     ob = self.getObject()
     # TODO: protect adainst acquisition here?
     if IFile.providedBy(ob):
         mime = ob.file.contentType
     else:
         mime = getattr(ob, 'format', 'application/octet-stream')
     return mime
开发者ID:BCCVL,项目名称:org.bccvl.site,代码行数:8,代码来源:contentlisting.py

示例4: is_right_type

 def is_right_type(self, context=None):
     if context is None:
         context = self.context
         
     if self.enabled()==False and IFile.providedBy(context):
         return context.file.contentType in ('application/pdf', 'application/x-pdf', 'image/pdf', 'application/vnd.oasis.opendocument.text-master', 'application/vnd.oasis.opendocument.text', 'application/vnd.wordperfect', 'application/x-wordperfect', 'application/vnd.sun.xml.writer', 'application/wordperfect', 'application/vnd.sun.xml.impress', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.ms-powerpoint', 'application/powerpoint, application/mspowerpoint', 'application/x-mspowerpoint', 'application/rtf', 'application/msword')
     else:
         return False    
开发者ID:espenmn,项目名称:medialog.issuu,代码行数:8,代码来源:views.py

示例5: is_printable

 def is_printable(self):
     if ILink.providedBy(self.context):
         return False
     if IFile.providedBy(self.context):
         return IIconifiedPreview(self.context).is_convertible()
     if IImage.providedBy(self.context):
         return True
     return True
开发者ID:IMIO,项目名称:collective.iconifiedcategory,代码行数:8,代码来源:adapter.py

示例6: test_factory

 def test_factory(self):
     fti = queryUtility(
         IDexterityFTI,
         name='emc.bokeh.codefile'
     )
     factory = fti.factory
     new_object = createObject(factory)
     self.assertTrue(IFile.providedBy(new_object))
开发者ID:adam139,项目名称:emc.bokeh,代码行数:8,代码来源:test_code2plot.py

示例7: test_file_is_migrated

 def test_file_is_migrated(self):
     from Products.ATContentTypes.content.file import ATFile
     from plone.app.contenttypes.migration.migration import FileMigrator
     from plone.app.contenttypes.interfaces import IFile
     at_file = self.createATCTobject(ATFile, 'file')
     migrator = self.get_migrator(at_file, FileMigrator)
     migrator.migrate()
     new_file = self.portal['file']
     self.assertTrue(IFile.providedBy(new_file))
     self.assertTrue(at_file is not new_file)
开发者ID:mingtak,项目名称:prome,代码行数:10,代码来源:test_migration.py

示例8: _download_url

 def _download_url(self):
     """Return the download url (None by default) for the current object"""
     url = u'{url}/@@download'
     portal_url = api.portal.get_tool('portal_url')
     if IFile.providedBy(self.obj):
         return url.format(
             url=portal_url.getRelativeUrl(self.context))
     if IImage.providedBy(self.obj):
         return url.format(
             url=portal_url.getRelativeUrl(self.context))
开发者ID:IMIO,项目名称:collective.iconifiedcategory,代码行数:10,代码来源:adapter.py

示例9: test_blob_file_is_migrated

 def test_blob_file_is_migrated(self):
     from plone.app.contenttypes.migration.migration import BlobFileMigrator
     from plone.app.contenttypes.interfaces import IFile
     self.portal.invokeFactory('File', 'file')
     at_file = self.portal['file']
     applyProfile(self.portal, 'plone.app.contenttypes:default')
     migrator = self.get_migrator(at_file, BlobFileMigrator)
     migrator.migrate()
     dx_file = self.portal['file']
     self.assertTrue(IFile.providedBy(dx_file))
     self.assertTrue(at_file is not dx_file)
开发者ID:martior,项目名称:plone.app.contenttypes,代码行数:11,代码来源:test_migration.py

示例10: setUp

    def setUp(self):
        self.portal = self.layer['portal']
        setRoles(self.portal, TEST_USER_ID, ['Manager'])
        login(self.portal, TEST_USER_NAME)

        # Create files
        for uri in self.layer['pdf_files']:
            content_id = uri.split('/').pop()
            blobfile = NamedBlobFile(filename=unicode(content_id),
                                     data=open(uri, 'r').read())

            dxfile = createContentInContainer(
                self.portal, 'File', id=content_id, file=blobfile)

            self.assertTrue(IFile.providedBy(dxfile))

        self._validate_created_files()
        logout()
开发者ID:collective,项目名称:collective.pdfpeek,代码行数:18,代码来源:test_dxfiles.py

示例11: setUp

    def setUp(self):
        self.portal = self.layer['portal']
        setRoles(self.portal, TEST_USER_ID, ['Manager'])
        login(self.portal, TEST_USER_NAME)

        # Create files
        for uri in self.layer['pdf_files']:
            content_id = uri.split('/').pop()
            new_id = self.portal.invokeFactory('File', content_id)

            dxfile = self.portal[new_id]
            dxfile.file = NamedBlobFile(filename=unicode(content_id),
                                        data=open(uri, 'r').read())

            self.assertTrue(IFile.providedBy(dxfile))

        self._validate_created_files()
        logout()
开发者ID:cleder,项目名称:collective.pdfpeek,代码行数:18,代码来源:test_dxfiles.py

示例12: myViewSource

    def myViewSource(self, vtype):
        """
        """
        doc = self.context
        dto = doc.docTypeObj()
        app = self.currentApplication()
        dtid = doc.getPortalTypeName().lower()
        if shasattr(doc, "typeName"):
            dtid = doc.typeName()
        if dto:
            dtid = dto.customViewTemplate
            if not dtid:
                dtid = dto.getId()
        else:
            dto = doc  # so that we can acquire stuff below
        data = ""

        if app:
            names = [
                    "%s_%s_%s" % (app, dtid, vtype),
                    "%s_%s" % (app, vtype),
                    "%s_%s" % (dtid, vtype),
                    "doc_%s" % vtype
        ]
        else:
            names = [
                "%s_%s" % (dtid, vtype),
                "doc_%s" % vtype
            ]
        #for n in names:
            # print n
        for n in names:
            if shasattr(dto, n, acquire=True):
                o = aq_base(getattr(dto, n))
                if IFile.providedBy(o):
                    f = o.file.open()
                    data = f.read()
                elif IPageTemplateSubclassing.providedBy(o):
                    data = o.read()
                return data
        return data
开发者ID:OpenBfS,项目名称:dokpool-plone,代码行数:41,代码来源:flexible_view.py

示例13: friendly_type_name

def friendly_type_name(obj):
    """
    Index for the friendly name of any content type
    :param obj: The Plone content object to index
    :type obj: IContentish
    :return: Friendly content type name
    :rtype: str
    """
    default_name = obj.Type()
    # If the object is a file get the friendly name of the mime type
    if IFile.providedBy(obj):
        mtr = api.portal.get_tool(name='mimetypes_registry')

        primary_field_info = IPrimaryFieldInfo(obj)
        if not primary_field_info.value:
            return default_name

        if hasattr(primary_field_info.value, "contentType"):
            contenttype = primary_field_info.value.contentType
            try:
                mimetypeitem = mtr.lookup(contenttype)
            except MimeTypeException as msg:
                logger.warn(
                    'mimetype lookup failed for %s. Error: %s',
                    obj.absolute_url(),
                    str(msg)
                )
                return default_name

            mimetype_name = mimetypeitem[0].name()
            if mimetype_name != contenttype:
                return mimetype_name

    elif IUserProfile.providedBy(obj):
        return 'Person'

    return default_name
开发者ID:smcmahon,项目名称:ploneintranet,代码行数:37,代码来源:indexers.py

示例14: test_adding

 def test_adding(self):
     self.portal.invokeFactory(
         'File',
         'doc1'
     )
     self.assertTrue(IFile.providedBy(self.portal['doc1']))
开发者ID:enfold,项目名称:plone.app.contenttypes,代码行数:6,代码来源:test_file.py

示例15: _getAllObjectsData

    def _getAllObjectsData(self, context, objects_listing, tfile, tmp=False):
        """ Returns the data in all files with a content object to be placed
            in a zipfile
        """
        props = getToolByName(context, 'portal_properties')
        nameByTitle = props.zipfile_properties.name_by_title
        allow_zip64 = props.zipfile_properties.allow_zip64
        # Use temporary IO object instead of writing to filesystem.
        if tmp:
            fd, path = tempfile.mkstemp('.zipfiletransport')
            tfile = path
            close(fd)

        zipFile = ZipFile(tfile, 'w', ZIP_DEFLATED, allowZip64=allow_zip64)
        context_path = str(context.virtual_url_path())

        for obj in objects_listing:
            object_extension = ''
            object_path = str(obj.virtual_url_path())
            file_data = None
            if HAS_PAC:
                if IImage.providedBy(obj):
                    file_data = str(obj.image.data)
                    object_path = object_path.replace(context_path + '/', '')
                elif IFile.providedBy(obj):
                    file_data = str(obj.file.data)
                    object_path = object_path.replace(context_path + '/', '')
            if file_data is not None and object_path is not None:
                # early escape coming from plone.app.contenttypes
                pass
            elif self._objImplementsInterface(obj, interfaces.IATFile) or \
                        self._objImplementsInterface(obj, interfaces.IATImage):
                file_data = str(obj.data)
                object_path = object_path.replace(context_path + '/', '')

            elif self._objImplementsInterface(obj, interfaces.IATDocument):

                if "text/html" == obj.Format():
                    file_data = obj.getText()
                    object_extension = ".html"

                elif "text/x-rst" == obj.Format():
                    file_data = obj.getRawText()
                    object_extension = ".rst"

                elif "text/structured" == obj.Format():
                    file_data = obj.getRawText()
                    object_extension = ".stx"

                elif "text/plain" == obj.Format():
                    file_data = obj.getRawText()
                    object_extension = ".txt"

                else:
                    file_data = obj.getRawText()

                object_path = object_path.replace(context_path + '/', '')

            elif self._objImplementsInterface(obj, interfaces.IATFolder):
                if hasattr(obj, 'getRawText'):
                    file_data = obj.getRawText()

                    if object_path == context_path:
                        object_path = object_path.split("/")[-1]
                    else:
                        object_path = object_path.replace(context_path + '/', '')

                    if object_path[-5:] != ".html" and object_path[-4:] != ".htm":
                        object_extension = ".html"
            else:
                continue

            # start point for object path, adding 1 removes the initial '/'
            object_path = self.generateSafeFileName(object_path)

            if object_path:
                # Reconstruct path with filename, use ID unless
                # name_by_title has been set. Name by ID is the
                # default behavior so that links to other documents
                # in documents will be preserved when the same file
                # is imported back into your Plone site. If you use
                # name_by_title, you will be able to save non-ascii
                # chars in the filename but you will not be able to
                # round trip the ZIP archive and have links in your
                # documents continue to work. ID is the preferred
                # solution, as it is much work to go through lots of
                # documents by hand, find the internal links and
                # correct them manually.
                filename_path = []
                for i in range(0, len(object_path.split('/'))):
                    if nameByTitle:
                        # Use title for filename in ZIP export
                        filename_path.append(obj.Title())
                    else:
                        filename_path.append(obj.getId())
                    obj = obj.aq_inner.aq_parent

                if len(filename_path) > 1:
                    filename_path.reverse()
                    filename_path = '/'.join(filename_path)
#.........这里部分代码省略.........
开发者ID:collective,项目名称:collective.zipfiletransport,代码行数:101,代码来源:utils.py


注:本文中的plone.app.contenttypes.interfaces.IFile类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。