[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - removed support for deprecated old API

Yvo Schubbe y.2009 at wcm-solutions.de
Wed Dec 9 06:02:03 EST 2009


Log message for revision 106321:
  - removed support for deprecated old API

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
  U   Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2009-12-09 10:44:33 UTC (rev 106320)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2009-12-09 11:02:03 UTC (rev 106321)
@@ -4,7 +4,9 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- DirectoryView: Removed support for deprecated old API.
 
+
 2.2.0-beta (2009-12-06)
 -----------------------
 

Modified: Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py	2009-12-09 10:44:33 UTC (rev 106320)
+++ Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py	2009-12-09 11:02:03 UTC (rev 106321)
@@ -37,7 +37,6 @@
 from Products.CMFCore.permissions import AccessContentsInformation as ACI
 from Products.CMFCore.permissions import ManagePortal
 from Products.CMFCore.utils import _dtmldir
-from Products.CMFCore.utils import normalize
 from Products.CMFCore.utils import getPackageName
 from Products.CMFCore.utils import getPackageLocation
 from Products.CMFCore.utils import ProductsPath
@@ -327,15 +326,8 @@
     def registerDirectory(self, name, _prefix, subdirs=1, ignore=ignore):
         # This what is actually called to register a
         # file system directory to become a FSDV.
-        if not isinstance(_prefix, basestring):
-            package = getPackageName(_prefix)
-            filepath = os.path.join(getPackageLocation(package), name)
-        else:
-            warn('registerDirectory() called with deprecated _prefix type. '
-                 'Support for paths will be removed in CMF 2.3. Please use '
-                 'globals instead.', DeprecationWarning, stacklevel=2)
-            filepath = os.path.join(_prefix, name)
-            (package, name) = _findProductForPath(_prefix, name)
+        package = getPackageName(_prefix)
+        filepath = os.path.join(getPackageLocation(package), name)
         reg_key = _generateKey(package, name)
         self.registerDirectoryByKey(filepath, reg_key, subdirs, ignore)
 
@@ -350,14 +342,6 @@
                 self.registerDirectoryByKey(entry_filepath, entry_reg_key,
                                             subdirs, ignore)
 
-    def registerDirectoryByPath(self, filepath, subdirs=1, ignore=ignore):
-        warn('registerDirectoryByPath() is deprecated and will be removed in '
-             'CMF 2.3. Please use registerDirectoryByKey() instead.',
-             DeprecationWarning, stacklevel=2)
-        (package, subdir) = _findProductForPath(filepath)
-        reg_key = _generateKey(package, subdir)
-        self.registerDirectoryByKey(filepath, reg_key, subdirs, ignore)
-
     def reloadDirectory(self, reg_key):
         info = self.getDirectoryInfo(reg_key)
         if info is not None:
@@ -373,47 +357,7 @@
         dirs.sort()
         return dirs
 
-    def getCurrentKeyFormat(self, reg_key):
-        # BBB: method will be removed in CMF 2.3
 
-        if reg_key in self._directories:
-            return reg_key
-
-        # for DirectoryViews created with CMF versions before 2.1
-        # a path relative to Products/ was used
-        dirpath = reg_key.replace('\\', '/')
-        if dirpath.startswith('Products/'):
-            dirpath = dirpath[9:]
-        product = ['Products']
-        dirparts = dirpath.split('/')
-        while dirparts:
-            product.append(dirparts[0])
-            dirparts = dirparts[1:]
-            possible_key = _generateKey('.'.join(product), '/'.join(dirparts))
-            if possible_key in self._directories:
-                return possible_key
-
-        # for DirectoryViews created with CMF versions before 1.5
-        # this is basically the old minimalpath() code
-        dirpath = normalize(reg_key)
-        index = dirpath.rfind('Products')
-        if index == -1:
-            index = dirpath.rfind('products')
-        if index != -1:
-            dirpath = dirpath[index+len('products/'):]
-            product = ['Products']
-            dirparts = dirpath.split('/')
-            while dirparts:
-                product.append(dirparts[0])
-                dirparts = dirparts[1:]
-                possible_key = _generateKey('.'.join(product),
-                                            '/'.join(dirparts))
-                if possible_key in self._directories:
-                    return possible_key
-
-        raise ValueError('Unsupported key given: %s' % reg_key)
-
-
 _dirreg = DirectoryRegistry()
 registerDirectory = _dirreg.registerDirectory
 registerFileExtension = _dirreg.registerFileExtension
@@ -477,16 +421,11 @@
         reg_key = self._dirpath
         info = _dirreg.getDirectoryInfo(reg_key)
         if info is None:
-            try:
-                reg_key = self._dirpath = _dirreg.getCurrentKeyFormat(reg_key)
-                info = _dirreg.getDirectoryInfo(reg_key)
-            except ValueError:
-                # During GenericSetup a view will be created with an empty
-                # reg_key. This is expected behaviour, so do not warn about it.
-                if reg_key:
-                    warn('DirectoryView %s refers to a non-existing path %r' %
-                          (self.id, reg_key), UserWarning)
-        if info is None:
+            # During GenericSetup a view will be created with an empty
+            # reg_key. This is expected behaviour, so do not warn about it.
+            if reg_key:
+                warn('DirectoryView %s refers to a non-existing path %r' %
+                      (self.id, reg_key), UserWarning)
             data = {}
             objects = ()
         else:
@@ -585,14 +524,6 @@
 def createDirectoryView(parent, reg_key, id=None):
     """ Add either a DirectoryView or a derivative object.
     """
-    info = _dirreg.getDirectoryInfo(reg_key)
-    if info is None:
-        reg_key = _dirreg.getCurrentKeyFormat(reg_key)
-        info = _dirreg.getDirectoryInfo(reg_key)
-        warn('createDirectoryView() called with deprecated reg_key format. '
-             'Support for old key formats will be removed in CMF 2.3. Please '
-             'use the new key format <product>:<subdir> instead.',
-             DeprecationWarning, stacklevel=2)
     if not id:
         id = reg_key.split('/')[-1]
     else:
@@ -607,13 +538,7 @@
     still needs to be called by product initialization code to satisfy
     persistence demands.
     """
-    if not isinstance(_prefix, basestring):
-        package = getPackageName(_prefix)
-    else:
-        warn('addDirectoryViews() called with deprecated _prefix type. '
-             'Support for paths will be removed in CMF 2.3. Please use '
-             'globals instead.', DeprecationWarning, stacklevel=2)
-        (package, name) = _findProductForPath(_prefix, name)
+    package = getPackageName(_prefix)
     reg_key = _generateKey(package, name)
     info = _dirreg.getDirectoryInfo(reg_key)
     if info is None:



More information about the checkins mailing list