diff --git a/product/ERP5/Document/ExtFolder.py b/product/ERP5/Document/ExtFolder.py deleted file mode 100644 index 3945017c02032de3e6dc7ca4a2c506dc550d376a..0000000000000000000000000000000000000000 --- a/product/ERP5/Document/ExtFolder.py +++ /dev/null @@ -1,117 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Yoshinori Okuji <yo@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, PropertySheet -from Products.ERP5Type.XMLObject import XMLObject -from Products.ExtFile.ExtFile import ExtFile -from Products.ExtFile.ExtImage import ExtImage -import os -from App.config import getConfiguration -from Products.ERP5 import product_path -from Shared.DC.ZRDB.TM import TM -import shutil - -from zLOG import LOG - -class Deletion(TM): - """Remove the directory at the end of a transaction. - """ - def __init__(self, path): - self.path = path - self._register() - - def _finish(self): - try: - LOG('Deletion', 0, 'removing %s' % self.path) - shutil.rmtree(self.path) - except OSError: - pass - - def _abort(self): - pass - -class ExtFolder( XMLObject ): - """ - ExtFolder stores sub-objects as ExtFile or ExtImage. - """ - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - ) - - # CMF Type Definition - meta_type='ERP5 External Folder' - portal_type='External Folder' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declarePrivate('PUT_factory') - def PUT_factory( self, name, typ, body ): - """Return an ExtFile or ExtImage object. - """ - major, minor = typ.split('/', 1) - if major == 'image': - return ExtImage(name) - return ExtFile(name) - - def _getRepositoryPath(self): - """Return the path in the filesystem. - """ - instance_home = getConfiguration().instancehome - repository = os.path.join(*ExtFile._repository) - return os.path.sep.join((instance_home, repository, self.getPath())) - - security.declareProtected('Manage portal', 'generateRpmHeaderList') - def generateRpmHeaderList(self): - """Run genhdlist on the directory behind this object. - """ - status = os.system("/usr/bin/genhdlist -s %s" % self._getRepositoryPath()) - if status != 0: - raise RuntimeError, "failed in executing genhdlist" - - security.declareProtected('Manage portal', 'generateBt5HeaderList') - def generateBt5HeaderList(self): - """Run genbt5list on the directory behind this object. - """ - status = os.system("%s/bin/genbt5list %s" % (product_path, self._getRepositoryPath())) - if status != 0: - raise RuntimeError, "failed in executing genbt5list" - - def manage_beforeDelete(self, item, container): - """Called before deleting this object. - """ - self._v_deletion = Deletion(self._getRepositoryPath()) - XMLObject.manage_beforeDelete(self, item, container) diff --git a/product/ERP5Type/tests/ERP5TypeTestCase.py b/product/ERP5Type/tests/ERP5TypeTestCase.py index 1227a894c7b71bc0a929bdc4b94e9f17c681309a..302df7a83b35807b3899e1701f2c6f0c066aec2b 100644 --- a/product/ERP5Type/tests/ERP5TypeTestCase.py +++ b/product/ERP5Type/tests/ERP5TypeTestCase.py @@ -79,7 +79,6 @@ import OFS.Application OFS.Application.import_products() # Std Zope Products -ZopeTestCase.installProduct('ExtFile', quiet=install_product_quiet) ZopeTestCase.installProduct('Photo', quiet=install_product_quiet) ZopeTestCase.installProduct('Formulator', quiet=install_product_quiet) ZopeTestCase.installProduct('FCKeditor', quiet=install_product_quiet)