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__, ]