[Zope3-checkins] CVS: Zope3/lib/python/Zope/App/OFS/Services/ServiceManager - IServiceManager.py:1.9 ServiceManager.py:1.16

Jim Fulton jim@zope.com
Wed, 18 Dec 2002 17:22:17 -0500


Zope doesn't start anymore. :(

I'm trying to sort it out.

Jim

Steve Alexander wrote:
> Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Services/ServiceManager
> In directory cvs.zope.org:/tmp/cvs-serv12654/lib/python/Zope/App/OFS/Services/ServiceManager
> 
> Modified Files:
> 	IServiceManager.py ServiceManager.py 
> Log Message:
> SteveA and Marius G.
> 
> We refactored the NamedComponentConfiguration and ComponentConfiguration.
> Now, we have NamedConfiguration and NamedComponentConfiguration.
> 
> NamedConfigurable is now split into two parts, as appropriate to that
> refactoring.
> 
> Cleaned up various extraneous imports, and changed various 
> self --> wrapped_self. (Interestingly, this act revealed one ContextMethod
> that did not in fact need to be a ContextMethod.)
>  
> 
> 
> === Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/IServiceManager.py 1.8 => 1.9 ===
> --- Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/IServiceManager.py:1.8	Thu Dec 12 10:28:17 2002
> +++ Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/IServiceManager.py	Wed Dec 18 15:23:05 2002
> @@ -16,11 +16,13 @@
>  $Id$
>  """
>  from Zope.ComponentArchitecture.IServiceService import IServiceService
> -from Zope.App.OFS.Services.ConfigurationInterfaces import INameConfigurable
> +from Zope.App.OFS.Services.ConfigurationInterfaces \
> +        import INameComponentConfigurable
>  from IComponentManager import IComponentManager
>  from Interface.Attribute import Attribute
>  
> -class IServiceManager(IServiceService, IComponentManager, INameConfigurable):
> +class IServiceManager(IServiceService, IComponentManager,
> +                      INameComponentConfigurable):
>      """Service Managers act as containers for Services.
>  
>      If a Service Manager is asked for a service, it checks for those it
> @@ -30,4 +32,4 @@
>      services.
>      """
>  
> -    Packages = Attribute("""Package container""")
> +    Packages = Attribute("Package container")
> 
> 
> === Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/ServiceManager.py 1.15 => 1.16 ===
> --- Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/ServiceManager.py:1.15	Thu Dec 12 10:28:17 2002
> +++ Zope3/lib/python/Zope/App/OFS/Services/ServiceManager/ServiceManager.py	Wed Dec 18 15:23:05 2002
> @@ -22,29 +22,19 @@
>  
>  import sys
>  
> -from Zope.Exceptions import NotFoundError, ZopeError
> -
> -from Zope.App.ComponentArchitecture.IServiceManagerContainer \
> -     import IServiceManagerContainer
> -from Zope.ComponentArchitecture import getService, queryAdapter
>  from Zope.App.ComponentArchitecture.NextService \
>       import getNextServiceManager, getNextService
> -from Zope.ComponentArchitecture.GlobalServiceManager import UndefinedService
> -from Zope.ComponentArchitecture.GlobalServiceManager import InvalidService
>  from Zope.ComponentArchitecture.Exceptions import ComponentLookupError
>  
>  from Zope.App.OFS.Container.IContainer import ISimpleReadContainer
> -from Zope.App.OFS.Content.Folder.Folder import Folder
>  from Zope.ContextWrapper import ContextMethod
>  from Zope.Proxy.ContextWrapper import ContextWrapper
> -from Zope.App.OFS.Container.BTreeContainer import BTreeContainer
>  from Zope.Proxy.ProxyIntrospection import removeAllProxies
>  
>  from Packages import Packages
>  from IServiceManager import IServiceManager
>  
> -from Zope.App.OFS.Services.Configuration import ConfigurationRegistry
> -from Zope.App.OFS.Services.Configuration import NameConfigurable
> +from Zope.App.OFS.Services.Configuration import NameComponentConfigurable
>  
>  from Persistence.Module import PersistentModuleRegistry
>  from Persistence.Module import PersistentModule
> @@ -54,43 +44,40 @@
>  ModuleType = ModuleType, PersistentModule
>  
>  
> -class ServiceManager(PersistentModuleRegistry, NameConfigurable):
> +class ServiceManager(PersistentModuleRegistry, NameComponentConfigurable):
>  
>      __implements__ = (IServiceManager, ISimpleReadContainer,
>                        PersistentModuleRegistry.__implements__,
> -                      NameConfigurable.__implements__,
> +                      NameComponentConfigurable.__implements__,
>                        INameResolver)
>  
>      def __init__(self):
>          super(ServiceManager, self).__init__()
> -        NameConfigurable.__init__(self)
> +        NameComponentConfigurable.__init__(self)
>          self.Packages = Packages()
>  
> -
> -    def getServiceDefinitions(self):
> +    def getServiceDefinitions(wrapped_self):
>          "See Zope.ComponentArchitecture.IServiceService.IServiceService"
>  
>          # Get the services defined here and above us, if any (as held
>          # in a ServiceInterfaceService, presumably)
> -        sm = getNextServiceManager(self)
> +        sm = getNextServiceManager(wrapped_self)
>          if sm is not None:
>              serviceDefs = sm.getServiceDefinitions()
>          else: serviceDefs = {}
>  
>          return serviceDefs
> -
>      getServiceDefinitions = ContextMethod(getServiceDefinitions)
>  
> -    def queryService(self, name, default=None):
> +    def queryService(wrapped_self, name, default=None):
>          "See Zope.ComponentArchitecture.IServiceService.IServiceService"
>          try:
> -            return self.getService(name)
> +            return wrapped_self.getService(name)
>          except ComponentLookupError:
>              return default
> -
>      queryService = ContextMethod(queryService)
>  
> -    def getService(self, name):
> +    def getService(wrapped_self, name):
>          "See Zope.ComponentArchitecture.IServiceService.IServiceService"
>  
>          # This is rather tricky. Normally, getting a service requires
> @@ -100,42 +87,40 @@
>          # services, so we'll
>  
>          if name == 'Services':
> -            return self # We are the service service
> +            return wrapped_self # We are the service service
>  
> -        if not getattr(self, '_v_calling', 0):
> +        if not getattr(wrapped_self, '_v_calling', 0):
>  
> -            self._v_calling = 1
> +            wrapped_self._v_calling = 1
>              try:
> -                service = self.queryActiveComponent(name)
> +                service = wrapped_self.queryActiveComponent(name)
>                  if service is not None:
>                      return service
>  
>              finally:
> -                self._v_calling = 0
> -
> -        return getNextService(self, name)
> +                wrapped_self._v_calling = 0
>  
> +        return getNextService(wrapped_self, name)
>      getService = ContextMethod(getService)
>  
>  
> -    def getInterfaceFor(self, service_type):
> +    def getInterfaceFor(wrapped_self, service_type):
>          "See Zope.ComponentArchitecture.IServiceService.IServiceService"
> -        for type, interface in self.getServiceDefinitions():
> +        for type, interface in wrapped_self.getServiceDefinitions():
>              if type == service_type:
>                  return interface
>  
>          raise NameError(service_type)
> -
>      getInterfaceFor = ContextMethod(getInterfaceFor)
>  
>      ############################################################
>      # Implementation methods for interface
>      # Zope.App.OFS.Services.ServiceManager.IComponentManager.
>  
> -    def queryComponent(self, type=None, filter=None, all=0):
> -        Packages = ContextWrapper(self.Packages, self, name='Packages')
> +    def queryComponent(wrapped_self, type=None, filter=None, all=0):
> +        Packages = ContextWrapper(wrapped_self.Packages, wrapped_self,
> +                                  name='Packages')
>          return Packages.queryComponent(type, filter, all)
> -
>      queryComponent = ContextMethod(queryComponent)
>  
>      #
> @@ -154,18 +139,17 @@
>  
>          return result
>  
> -    def get(self, key, default=None):
> +    def get(wrapped_self, key, default=None):
>          "See Interface.Common.Mapping.IReadMapping"
>  
>          if key == 'Packages':
> -            return self.Packages
> +            return wrapped_self.Packages
>  
> -        directives = self.queryConfigurations(key)
> +        directives = wrapped_self.queryConfigurations(key)
>          if directives and directives[0] is not None:
> -            return self.queryService(key, default)
> +            return wrapped_self.queryService(key, default)
>  
>          return default
> -
>      get = ContextMethod(get)
>  
>      def __contains__(self, key):
> @@ -173,13 +157,14 @@
>  
>          return self.get(key) is not None
>  
> -    def findModule(self, name):
> +    def findModule(wrapped_self, name):
>          # override to pass call up to next service manager
> -        mod = super(ServiceManager, removeAllProxies(self)).findModule(name)
> +        mod = super(ServiceManager,
> +                    removeAllProxies(wrapped_self)).findModule(name)
>          if mod is not None:
>              return mod
>  
> -        sm = getNextServiceManager(self)
> +        sm = getNextServiceManager(wrapped_self)
>          try:
>              findModule = sm.findModule
>          except AttributeError:
> @@ -188,22 +173,20 @@
>              # direct way to ask if sm is the global service manager.
>              return None
>          return findModule(name)
> -
>      findModule = ContextMethod(findModule)
>  
> -    def __import(self, module_name):
> +    def __import(wrapped_self, module_name):
>  
> -        mod = self.findModule(module_name)
> +        mod = wrapped_self.findModule(module_name)
>          if mod is None:
>              mod = sys.modules.get(module_name)
>              if mod is None:
>                  raise ImportError(module_name)
>  
>          return mod
> -
>      __import = ContextMethod(__import)
>  
> -    def resolve(self, name):
> +    def resolve(wrapped_self, name):
>  
>          name = name.strip()
>  
> @@ -218,20 +201,19 @@
>          mod='.'.join(names[:-1])
>  
>          if not mod:
> -            return self.__import(name)
> +            return wrapped_self.__import(name)
>  
>          while 1:
> -            m = self.__import(mod)
> +            m = wrapped_self.__import(mod)
>              try:
>                  a=getattr(m, last)
>              except AttributeError:
>                  if not repeat:
> -                    return self.__import(name)
> +                    return wrapped_self.__import(name)
>  
>              else:
>                  if not repeat or (not isinstance(a, ModuleType)):
>                      return a
>              mod += '.' + last
> -
>      resolve = ContextMethod(resolve)
>  
> 
> 
> _______________________________________________
> Zope3-Checkins mailing list
> Zope3-Checkins@zope.org
> http://lists.zope.org/mailman/listinfo/zope3-checkins
> 



-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (888) 344-4332            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org