Exemplo n.º 1
0
    def test_provideConnection(self):

        conns = list(zapi.getUtilitiesFor(IZopeDatabaseAdapter))
        self.assertEqual(conns, [])
        connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
        self.assertEqual(connectionstub, None)

        self.context = xmlconfig.file("rdb.zcml", zope.app.rdb.tests)
        connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
        connection = connectionstub()
        self.assertEqual(connectionstub.__class__, DAStub)
        conns = zapi.getUtilitiesFor(IZopeDatabaseAdapter)
           
        self.assertEqual([c[0] for c in conns], ["stub"])
        self.assertEqual(connection.__class__, ZopeConnection)
Exemplo n.º 2
0
 def getScannerObjs(self):
     """
     get list of enabled Scanner-Tupel (name, obj)
     """
     return [(name, obj) for (name, obj) \
             in zapi.getUtilitiesFor(IScanner) \
             if obj.__name__ in self.scannerSet]
Exemplo n.º 3
0
 def items(self):
     cutoff = self.__id__ and len(self.__id__)+1 or 0
     return [(id[cutoff:], group.__bind__(self))
             for id, group in zapi.getUtilitiesFor(IPreferenceGroup)
             if id != self.__id__ and \
                id.startswith(self.__id__) and \
                id[cutoff:].find('.') == -1]
Exemplo n.º 4
0
    def test_nestedSitesDontConflictButStillAcquire(self):
        # let's register a dummy utility in the dummy site
        dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy)

        # let's also create a subsite and make that our site
        manage_addDummySite(self.folder.site, 'subsite')
        enableLocalSiteHook(self.folder.site.subsite)
        setSite(self.folder.site.subsite)

        # we should still be able to lookup the original utility from
        # the site one level above
        self.assertEqual(zapi.getUtility(IDummyUtility), dummy)

        # now we register a dummy utility in the subsite and see that
        # its registration doesn't conflict
        subdummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, subdummy)

        # when we look it up we get the more local one now because the
        # more local one shadows the less local one
        self.assertEqual(zapi.getUtility(IDummyUtility), subdummy)

        # getAllUtilitiesFor gives us both the more local and the less
        # local utility (XXX not sure if this is the right semantics
        # for getAllUtilitiesFor)
        self.assertEqual(sets.Set(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)),
                         sets.Set([subdummy, dummy]))

        # getUtilitiesFor will only find one, because the more local
        # one shadows the less local one
        self.assertEqual(list(zapi.getUtilitiesFor(IDummyUtility)),
                         [('', subdummy)])
Exemplo n.º 5
0
def notifierInstances(dummy_context):
    """Which types of notifiers are there
    """
    utilList = [util for name, util in zapi.getUtilitiesFor(INotifier)]
    terms = [SimpleTerm(i.__name__, str(i.__name__), i.__name__) \
             for i in utilList]
    return SimpleVocabulary(terms)
Exemplo n.º 6
0
 def items(self):
     results = [
         (name, TypeInterface(iface, self, name))
         for name, iface in zapi.getUtilitiesFor(IInterface)
         if iface.extends(IInterface)
     ]
     results.sort(lambda x, y: cmp(x[1].interface.getName(), y[1].interface.getName()))
     return results
Exemplo n.º 7
0
def NetScannerInstances2(dummy_context):
    """Which types of network scanners are there
    """
    utilList = [util for name, util in zapi.getUtilitiesFor(IScanner)]
    utilList.sort()
    terms = [SimpleTerm(i.__name__, str(i.__name__), i.__name__) \
             for i in utilList]
    return SimpleVocabulary(terms)
Exemplo n.º 8
0
 def uninstall(self):
     type_names = self.request['selected']
     self.request.form['selected'] = [u'']
     for name, tool in zapi.getUtilitiesFor(IToolConfiguration):
         if name in type_names:
             self.activeTool = tool
             self.delete()
     self.activeTool = None
Exemplo n.º 9
0
 def setup(self):
     """Setup module and class tree."""
     if self.__isSetup:
         return
     for name, mod in zapi.getUtilitiesFor(IAPIDocRootModule):
         module = safe_import(mod)
         if module is not None:
             self._children[name] = Module(self, name, module)
     self.__isSetup = True
Exemplo n.º 10
0
 def items(self):
     """See zope.app.container.interfaces.IReadContainer"""
     items = list(zapi.getUtilitiesFor(IDocumentationModule))
     items.sort()
     utils = []
     for key, value in items:
         locate(value, self, key)
         utils.append((key, value))
     return utils
Exemplo n.º 11
0
    def _getUtilitiesFor(self, iface):
        """ return everything registered for an interface """

        try:
            from zope.app import zapi
            return zapi.getUtilitiesFor(iface)
        except ImportError:
            from zope.component import getUtilitiesFor
            return getUtilitiesFor(iface)
Exemplo n.º 12
0
 def __init__(self, context, interface, nameOnly=False):
     if nameOnly is not False:
         nameOnly = True
     if isinstance(interface, (str, unicode)):
         interface = zapi.getUtility(IInterface, interface)
     self.interface = interface
     utils = zapi.getUtilitiesFor(interface, context)
     self._terms = dict([(name, UtilityTerm(nameOnly and name or util, name))
                         for name, util in utils])
Exemplo n.º 13
0
    def _getUtilitiesFor(self, iface):
        """ return everything registered for an interface """

        try:
            from zope.app import zapi
            return zapi.getUtilitiesFor(iface)
        except ImportError:
            from zope.component import getUtilitiesFor
            return getUtilitiesFor(iface)
Exemplo n.º 14
0
    def test_registerUtilityOnUtilityService(self):
        utils = zapi.getService(Utilities)
        dummy = DummyUtility()
        utils.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
Exemplo n.º 15
0
def get_default_language():
    language_providers = getUtilitiesFor(ILanguageProvider)
    provider_list = [(p[0], p[1]) for p in language_providers]
    sorted_providers = sorted(provider_list, key=lambda p: p[1].PRECEDENCE)
    for name, provider in sorted_providers:
        _language = provider()
        log.debug("Looking for language in %s found %s", name, _language)
        if _language and (_language in capi.zope_i18n_allowed_languages):
            log.debug("Got default language as %s from provider %s", _language, name)
            return _language
Exemplo n.º 16
0
    def test_registerUtilityOnUtilityRegistry(self):
        utils = zapi.getSiteManager().utilities
        dummy = DummyUtility()
        utils.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
Exemplo n.º 17
0
 def getNotifierObjs(self):
     """
     get list of enabled Notifier-Tupel (name, obj)
     """
     if self.notifierSet:
         return [(name, obj) for (name, obj) \
                 in zapi.getUtilitiesFor(INotifier) \
                 if obj.__name__ in self.notifierSet]
     else:
         return None
    def test_registerUtilityOnUtilityRegistry(self):
        utils = zapi.getSiteManager().utilities
        dummy = DummyUtility()
        utils.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 19
0
    def test_registerUtilityOnUtilityService(self):
        utils = zapi.getService(Utilities)
        dummy = DummyUtility()
        utils.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 20
0
 def getUniqueTools(self):
     """Get unique tools info for display."""
     results = [{'name': tool.interface.getName(),
                 'title': tool.title,
                 'description': tool.description,
                 'exists': self.toolExists(tool.interface)
                 }
                for name, tool in zapi.getUtilitiesFor(IToolConfiguration)
                if tool.unique]
     results.sort(lambda x, y: cmp(x['title'], y['title']))
     return results
Exemplo n.º 21
0
 def getCatalogsInfo(self):
     info = []
     for name, domain in zapi.getUtilitiesFor(ITranslationDomain):
         if not hasattr(domain, 'getCatalogsInfo'):
             continue
         lang_info = []
         info.append({'domain': name, 'languagesInfo': lang_info})
         for language, fileNames in domain.getCatalogsInfo().items():
             lang_info.append({'language': language,
                          'fileNames': fileNames})
     return info
Exemplo n.º 22
0
    def test_registerUtilityOnSiteManager(self):
        sm = zapi.getSiteManager()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        sm.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
    def test_registerUtilityOnSiteManager(self):
        sm = zapi.getSiteManager()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        sm.registerUtility(IDummyUtility, dummy, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 24
0
 def getTermByToken(self, token):
     for name, ut in zapi.getUtilitiesFor(self.interface):
         name = unicode(name)
         if token == "t":
             if not name:
                 break
         elif UtilityNameTerm(name).token == token:
             break
     else:
         raise LookupError("no matching token: %r" % token)
     return self.getTerm(name)
Exemplo n.º 25
0
def NetScannerInstances(dummy_context):
    """Which types of network scanners are there
    """
    #print "NetScannerInstances   ################"
    utilList = [util for name, util in zapi.getUtilitiesFor(IScanner)]
    #prefixes = [u'dot', u'neato', u'twopi', u'circo', u'fdp']
    terms = [SimpleTerm(util.__name__,
                        str(util.__name__),
                        IZopeDublinCore(util).title) \
             for util in utilList]
    return SimpleVocabulary(terms)
Exemplo n.º 26
0
    def test_derivedInterfaceRegistration(self):
        # Utilities providing a derived interface should be listed
        # when you ask for an interface. So ask for IDummmyInterace, and
        # anything registered for IDummyInterface of ISuperDummyInterface
        # should come back.

        sm = zapi.getServices()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        superdummy = DummyUtility()
        directlyProvides(superdummy, ISuperDummyUtility)
        uts = list(zapi.getUtilitiesFor(IDummyUtility))
        self.failUnlessEqual(uts, [])

        sm.registerUtility(ISuperDummyUtility, superdummy)
        
        # We should be able to access this utility both with 
        # IDummyUtility and ISuperDummyUtility interfaces:
        uts = list(zapi.getUtilitiesFor(IDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)
        uts = list(zapi.getUtilitiesFor(ISuperDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)
        
        # Also try that the standard zapi call works:
        ut = zapi.getUtility(IDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)
        ut = zapi.getUtility(ISuperDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)
    
        # If we register a second utility we should find both utilities
        # when looking for the base interface
        sm.registerUtility(IDummyUtility, dummy)

        uts = list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility))
        self.failUnless(dummy in uts)
        self.failUnless(superdummy in uts)

        # But we should find only one when looking for the derived interface
        uts = list(zapi.getAllUtilitiesRegisteredFor(ISuperDummyUtility))
        self.failUnless(dummy not in uts)
        self.failUnless(superdummy in uts)
Exemplo n.º 27
0
    def test_derivedInterfaceRegistration(self):
        # Utilities providing a derived interface should be listed
        # when you ask for an interface. So ask for IDummmyInterace, and
        # anything registered for IDummyInterface of ISuperDummyInterface
        # should come back.

        sm = zapi.getServices()
        self.failUnless(IRegisterUtilitySimply.providedBy(sm))
        dummy = DummyUtility()
        superdummy = DummyUtility()
        directlyProvides(superdummy, ISuperDummyUtility)
        uts = list(zapi.getUtilitiesFor(IDummyUtility))
        self.failUnlessEqual(uts, [])

        sm.registerUtility(ISuperDummyUtility, superdummy)

        # We should be able to access this utility both with
        # IDummyUtility and ISuperDummyUtility interfaces:
        uts = list(zapi.getUtilitiesFor(IDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)
        uts = list(zapi.getUtilitiesFor(ISuperDummyUtility))
        self.failUnless(uts[0][1].aq_base is superdummy)

        # Also try that the standard zapi call works:
        ut = zapi.getUtility(IDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)
        ut = zapi.getUtility(ISuperDummyUtility, context=self.folder.site)
        self.failUnless(ut.aq_base is superdummy)

        # If we register a second utility we should find both utilities
        # when looking for the base interface
        sm.registerUtility(IDummyUtility, dummy)

        uts = list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility))
        self.failUnless(dummy in uts)
        self.failUnless(superdummy in uts)

        # But we should find only one when looking for the derived interface
        uts = list(zapi.getAllUtilitiesRegisteredFor(ISuperDummyUtility))
        self.failUnless(dummy not in uts)
        self.failUnless(superdummy in uts)
Exemplo n.º 28
0
 def __init__(self, context):
     terms = []
     permissions = zapi.getUtilitiesFor(IPermission, context)
     for name, permission in permissions:
         if name == 'zope.Public':
             terms.append(SimpleTerm(
                 CheckerPublic, 'zope.Public', u'Public'))
         else:
             terms.append(SimpleTerm(name, name, name))
     terms.sort(lambda lhs, rhs: \
         lhs.title == u'Public' and -1 or cmp(lhs.title, rhs.title))
     super(PermissionIdsVocabulary, self).__init__(terms)
Exemplo n.º 29
0
 def test_registerUtilityWithZopeComponentAPI4(self):
     # The Full kabob:
     sm = getSiteManager()
     dummy = DummyUtility()
     
     sm.registerUtility(component=dummy, provided=IDummyUtility, 
                        name='dummy', info=u'The Dummy', event=True)
     self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
     self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                       [('dummy', dummy)])
     self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
         IDummyUtility)), [dummy])
Exemplo n.º 30
0
    def test_registerUtilityWithZopeComponentAPI3(self):
        # With keyword arguments
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(component=dummy, provided=IDummyUtility, 
                           name='dummy')
        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
Exemplo n.º 31
0
    def test_registerUtilityWithZopeComponentAPI1(self):
        # Without name
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(dummy, IDummyUtility)

        self.assertEquals(zapi.getUtility(IDummyUtility), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
Exemplo n.º 32
0
    def test_registerUtilityWithZopeComponentAPI1(self):
        # With positional arguments
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(dummy, IDummyUtility, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)), 
                          [('dummy', dummy)])
        self.assertEquals(list(zapi.getAllUtilitiesRegisteredFor(
            IDummyUtility)), [dummy])
Exemplo n.º 33
0
    def test_registerUtilityWithZopeComponentAPI1(self):
        # With positional arguments
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(dummy, IDummyUtility, 'dummy')

        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 34
0
    def test_registerUtilityWithZopeComponentAPI1(self):
        # Without name
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(dummy, IDummyUtility)

        self.assertEquals(zapi.getUtility(IDummyUtility), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 35
0
    def test_registerUtilityWithZopeComponentAPI3(self):
        # With keyword arguments
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(component=dummy,
                           provided=IDummyUtility,
                           name='dummy')
        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 36
0
 def getTools(self):
     """Return a list of all tools"""
     results = [{'name': tool.interface.getName(),
                 'title': tool.title,
                 'description': tool.description,
                 'instances': self.getToolInstances(tool),
                 'add': tool is self.activeTool and self.addTool,
                 'rename': tool is self.activeTool and self.renameList
                 }
                for name, tool in zapi.getUtilitiesFor(IToolConfiguration)
                if not tool.unique]
     results.sort(lambda x, y: cmp(x['title'], y['title']))
     return results
Exemplo n.º 37
0
    def test_registerUtilityWithZopeComponentAPI4(self):
        # The Full kabob:
        sm = getSiteManager()
        dummy = DummyUtility()

        sm.registerUtility(component=dummy,
                           provided=IDummyUtility,
                           name='dummy',
                           info=u'The Dummy',
                           event=True)
        self.assertEquals(zapi.getUtility(IDummyUtility, name='dummy'), dummy)
        self.assertEquals(list(zapi.getUtilitiesFor(IDummyUtility)),
                          [('dummy', dummy)])
        self.assertEquals(
            list(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), [dummy])
Exemplo n.º 38
0
def get_default_language():
    # !+LANGUAGE(murithi, mar2011) need to integrate weights in registration
    # of utilities but overriding/new classes can also reorder negotiation
    default_language = None
    language_providers = getUtilitiesFor(ILanguageProvider)
    provider_list = [(p[0], p[1]) for p in language_providers]
    sorted_providers = sorted(provider_list, key=lambda p: p[1].WEIGHT)
    for name, provider in sorted_providers:
        _language = provider()
        log.debug("Looking for language in %s found %s", name, _language)
        if _language and (_language in capi.zope_i18n_allowed_languages):
            default_language = _language
            log.debug("Got default language as %s from provider %s", _language,
                      name)
            break
    return default_language
Exemplo n.º 39
0
def get_default_language():
    # !+LANGUAGE(murithi, mar2011) need to integrate weights in registration
    # of utilities but overriding/new classes can also reorder negotiation
    default_language = None
    language_providers = getUtilitiesFor(ILanguageProvider)
    provider_list = [(p[0], p[1]) for p in language_providers]
    sorted_providers = sorted(provider_list, key=lambda p: p[1].WEIGHT)
    for name, provider in sorted_providers:
        _language = provider()
        log.debug("Looking for language in %s found %s", name, _language)
        if _language and (_language in capi.zope_i18n_allowed_languages):
            default_language = _language
            log.debug("Got default language as %s from provider %s",
                        _language, name)
            break
    return default_language
Exemplo n.º 40
0
def get_default_language():
    # !+LANGUAGE(murithi, mar2011) need to integrate precedence values in registration
    # of utilities but overriding/new classes can also reorder negotiation
    # !+LANGUAGE(mr, apr-2011) what is the relation of this with:
    #   a) capi.default_language ?
    #   b) request.get("language") ?
    #   c) request.getCookies().get("I18N_LANGUAGE") ?
    default_language = None
    language_providers = getUtilitiesFor(ILanguageProvider)
    provider_list = [(p[0], p[1]) for p in language_providers]
    sorted_providers = sorted(provider_list, key=lambda p: p[1].PRECEDENCE)
    for name, provider in sorted_providers:
        _language = provider()
        log.debug("Looking for language in %s found %s", name, _language)
        if _language and (_language in capi.zope_i18n_allowed_languages):
            default_language = _language
            log.debug(
                "Got default language as %s from provider %s", _language, name)
            break
    return default_language
Exemplo n.º 41
0
    def test_utilitiesHaveProperAcquisitionContext(self):
        dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy)

        # let's see if we can acquire something all the way from the
        # root (Application) object; we need to be careful to choose
        # something that's only available from the root object
        from Acquisition import aq_acquire
        dummy = zapi.getUtility(IDummyUtility)
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        name, dummy = zapi.getUtilitiesFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        dummy = zapi.getAllUtilitiesRegisteredFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)        
Exemplo n.º 42
0
def get_default_language():
    # !+LANGUAGE(murithi, mar2011) need to integrate precedence values in registration
    # of utilities but overriding/new classes can also reorder negotiation
    # !+LANGUAGE(mr, apr-2011) what is the relation of this with:
    #   a) capi.default_language ?
    #   b) request.get("language") ?
    #   c) request.getCookies().get("I18N_LANGUAGE") ?
    default_language = None
    language_providers = getUtilitiesFor(ILanguageProvider)
    provider_list = [(p[0], p[1]) for p in language_providers]
    sorted_providers = sorted(provider_list, key=lambda p: p[1].PRECEDENCE)
    for name, provider in sorted_providers:
        _language = provider()
        log.debug("Looking for language in %s found %s", name, _language)
        if _language and (_language in capi.zope_i18n_allowed_languages):
            default_language = _language
            log.debug("Got default language as %s from provider %s", _language,
                      name)
            break
    return default_language
    def test_utilitiesHaveProperAcquisitionContext(self):
        dummy = DummyUtility()
        sm = zapi.getSiteManager()
        sm.registerUtility(IDummyUtility, dummy)

        # let's see if we can acquire something all the way from the
        # root (Application) object; we need to be careful to choose
        # something that's only available from the root object
        from Acquisition import aq_acquire
        dummy = zapi.getUtility(IDummyUtility)
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        name, dummy = zapi.getUtilitiesFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)

        dummy = zapi.getAllUtilitiesRegisteredFor(IDummyUtility).next()
        acquired = aq_acquire(dummy, 'ZopeAttributionButton', None)
        self.failUnless(acquired is not None)
Exemplo n.º 44
0
def allPermissions(context=None):
    """Get the ids of all defined permissions

    >>> from zope.app.testing.placelesssetup import setUp, tearDown
    >>> setUp()

    >>> from zope.app.testing.ztapi import provideUtility
    >>> provideUtility(IPermission, Permission('x'), 'x')
    >>> provideUtility(IPermission, Permission('y'), 'y')

    >>> ids = list(allPermissions(None))
    >>> ids.sort()
    >>> ids
    [u'x', u'y']

    >>> tearDown()
    """
    for id, permission in zapi.getUtilitiesFor(IPermission, context):
        if id != u'zope.Public':
            yield id
Exemplo n.º 45
0
    def registerHelpTopic(self, parent_path, id, title,
                          doc_path, interface=None, view=None,
                          class_=None, resources=None):
        "See zope.app.onlineHelp.interfaces.IOnlineHelp"

        if not os.path.exists(doc_path):
            raise ConfigurationError(
                "Help Topic definition %s does not exist" % doc_path
                )

        if class_ is None:
            class_ = OnlineHelpTopic

        # Create topic base on the custom class or OnlinHelpTopic
        topic = class_(id, title, doc_path, parent_path, interface, view)

        # add resources to topic
        if resources is not None:
            topic.addResources(resources)

        # add topic to onlinehelp hierarchy
        parent = None
        try:
            parent = zapi.traverse(self, parent_path)
            parent[id] = topic
        except KeyError:
            pass

        for t in zapi.getUtilitiesFor(IOnlineHelpTopic):
            if parent is None:
                if t[1].getTopicPath() == parent_path:
                    t[1][id] = topic
            if topic.getTopicPath() == t[1].parentPath:
                topic[t[1].id] = t[1]

        # Add topic to utilities registry
        #utils = zapi.getService(Utilities)
        #utils.provideUtility(IOnlineHelpTopic, topic, topic.getTopicPath())

        zapi.getGlobalSiteManager().provideUtility(
            IOnlineHelpTopic, topic, topic.getTopicPath())
Exemplo n.º 46
0
    def getAAA(self):
        """convert start counter for display
        """
        a = []
        #a = {}
        utilList = [util for name, util in zapi.getUtilitiesFor(IScanner)]
        #from zope.component import getSiteManager
        #a.append(dir(getSiteManager()))

        #print "ttttttt: [%s]" % ([(role, type(role)) for name, role in zapi.getUtilitiesFor(IScanner)] )
        #obj = zapi.getAllUtilitiesRegisteredFor(IScanner)
        #a['type'] = type(obj)
        #a['dir'] = dir(obj)
        #a['obj'] = obj
        #print "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
        for i in utilList:
            b = {}
            #b['getName'] = i.getName()
            #b['name'] = i.name
            #b['plist'] = [i.__name__ for i in providedBy(i)]
            #b['pd'] = dir(providedBy(i))
            b['__name__'] = i.__name__
            #print "++++++++++++++++++++++++++: %s" % (IScanner in providedBy(i).isImplementedBy()
            #b['prov'] = providedBy(i)
            #b['prov_i'] = providedBy(i).interfaces()
            #b['i_in_prov_i'] = IScanner in providedBy(i).interfaces()
            #b['dp'] = directlyProvidedBy(i)
            #b['ddp'] = dir(directlyProvidedBy(i))
            #b['dpi'] = list(directlyProvidedBy(i).interfaces())
            #b['type_prov'] = type(providedBy(i))
            #b['dir_prov'] = dir(providedBy(i))
            #b['impl'] = implementedBy(i)
            b['type'] = type(i)
            b['dir'] = dir(i)
            b['obj'] = i
            #for j in b['dp']:
            #    print "::%s::" % j
            a.append(b)
        return a
Exemplo n.º 47
0
def setGroupsForPrincipal(event):
    """Set group information when a principal is created"""

    principal = event.principal
    if not IGroupAwarePrincipal.providedBy(principal):
        return

    authentication = event.authentication

    plugins = zapi.getUtilitiesFor(interfaces.IAuthenticatorPlugin)
    for name, plugin in plugins:
        if not IGroupFolder.providedBy(plugin):
            continue
        groupfolder = plugin
        principal.groups.extend(
            [authentication.prefix + id
             for id in groupfolder.getGroupsForPrincipal(principal.id)
             ])
        id = principal.id
        prefix = authentication.prefix + groupfolder.prefix
        if id.startswith(prefix) and id[len(prefix):] in groupfolder:
            alsoProvides(principal, IGroup)
Exemplo n.º 48
0
 def getAllScannerObjs(self):
     """
     get list of all Scanner-Tupel (name, obj)
     """
     return [(name, obj) for (name, obj) in \
             zapi.getUtilitiesFor(IScanner)]
Exemplo n.º 49
0
def _listMenuIds():
    return [id for id, utility in zapi.getUtilitiesFor(IBrowserMenu)]
Exemplo n.º 50
0
 def __len__(self):
     """Return the number of valid terms, or sys.maxint."""
     return len(list(zapi.getUtilitiesFor(self.interface)))