Exemple #1
0
        self._readMetadata()

    def _updateFromFS(self):
        # workaround for Python 2.1 multiple inheritance lameness
        return self._baseUpdateFromFS()

    def _readMetadata(self):
        # workaround for Python 2.1 multiple inheritance lameness
        return self._baseReadMetadata()

    def __call__(self, *args, **kwargs):
        return self._call(FSPageTemplate.__call__, *args, **kwargs)

InitializeClass(FSPageTemplate)
InitializeClass(FSControllerPageTemplate)

DirectoryView.registerFileExtension('pt', FSPageTemplate)
DirectoryView.registerFileExtension('zpt', FSPageTemplate)
DirectoryView.registerFileExtension('html', FSPageTemplate)
DirectoryView.registerFileExtension('htm', FSPageTemplate)
DirectoryView.registerFileExtension('cpt', FSControllerPageTemplate)

DirectoryView.registerMetaType('Page Template', FSPageTemplate)
DirectoryView.registerMetaType('Controller Page Template', FSControllerPageTemplate)

# Patch the ignore list, so that our .py source files don't show up in skins
# folders
old_ignore = DirectoryView.ignore_re
new_ignore_re = re.compile(r'\.|(.*~$)|#|(.*\.(.?pt|htm.?)\.py$)')
DirectoryView.ignore_re = new_ignore_re
            filelist != getattr(self, '_v_last_filelist', None)):
            self._v_last_read = mtime
            self._v_last_filelist = filelist

            return 1
        return 0


class PatchedFSFile(FSFile.FSFile):
    """ Custom FS File
    """
    manage_options = ({'label':'Properties', 'action':'manage_main'},)

    manage_main = DirectoryView.DirectoryViewSurrogate.manage_propertiesForm


def registerDirectory(filepath, prj=PROJECTNAME):
    """ Register file-system directory
    """
    return DirectoryView._dirreg.registerDirectoryByKey(filepath, prj)


DirectoryView.registerFileExtension('pdf', PatchedFSFile)
DirectoryView.registerFileExtension('epub', PatchedFSFile)
DirectoryView.registerFileExtension('lock', PatchedFSFile)

__all__ = [
    createDirectoryView.__name__,
    registerDirectory.__name__,
]