Hi Yvo, Thanks for reviewing my work !
Le 11/03/11 10:43, yuppie a écrit : > Hi Godefroid! > > > A few questions: > > Godefroid Chapelle wrote: >> Log message for revision 120850: >> Refactored global registries to use global named utilities. >> >> merge of branch gotcha-registries-use-utilities > [...] >> Modified: Products.GenericSetup/trunk/Products/GenericSetup/registry.py >> =================================================================== >> --- Products.GenericSetup/trunk/Products/GenericSetup/registry.py >> 2011-03-10 15:13:48 UTC (rev 120849) >> +++ Products.GenericSetup/trunk/Products/GenericSetup/registry.py >> 2011-03-10 16:56:57 UTC (rev 120850) > [...] >> @@ -721,13 +758,26 @@ >> # metadata.xml description trumps ZCML description... awkward >> info.update( metadata ) >> >> - self._profile_info[ profile_id ] = info >> + sm.registerUtility(info, provided=IProfile, name=profile_id) >> >> + def _computeProfileId(self, name, product): >> + profile_id = '%s:%s' % (product or 'other', name) >> + return profile_id >> + >> + security.declareProtected( ManagePortal, 'unregisterProfile' ) >> + def unregisterProfile( self, name, product=None): >> + profile_id = self._computeProfileId(name, product) >> + sm = getGlobalSiteManager() >> + sm.unregisterUtility(provided=IProfile, name=profile_id) >> + >> security.declarePrivate( 'clear' ) >> def clear( self ): >> + sm = getGlobalSiteManager() >> + profile_ids = [profile_id for profile_id, profile_info >> + in sm.getUtilitiesFor(IProfile)] >> + for profile_id in profile_ids: >> + sm.unregisterUtility(provided=IProfile, name=profile_id) >> >> - self._profile_info = {} >> - self._profile_ids = [] > > Does GlobalRegistryStorage not work for the ProfileRegistry? Good point. Done ! I did it for UpgradeRegistry as well. > > >> Modified: >> Products.GenericSetup/trunk/Products/GenericSetup/tests/test_registry.py >> =================================================================== >> --- >> Products.GenericSetup/trunk/Products/GenericSetup/tests/test_registry.py >> 2011-03-10 15:13:48 UTC (rev 120849) >> +++ >> Products.GenericSetup/trunk/Products/GenericSetup/tests/test_registry.py >> 2011-03-10 16:56:57 UTC (rev 120850) >> @@ -1014,6 +1014,8 @@ >> , ConformsToIProfileRegistry >> ): >> >> + >> + >> def _getTargetClass( self ): >> >> from Products.GenericSetup.registry import ProfileRegistry >> @@ -1045,7 +1047,7 @@ >> , PRODUCT >> , PROFILE_TYPE >> ) >> - >> + >> self.assertEqual( len( registry.listProfiles() ), 1 ) >> self.assertEqual( len( registry.listProfileInfo() ), 1 ) > > You touched test_registry.py just to add some extra whitespace in > strange places? Sorry for the noise. Do you want a revert ? > > >> Modified: Products.GenericSetup/trunk/Products/GenericSetup/zcml.py >> =================================================================== >> --- Products.GenericSetup/trunk/Products/GenericSetup/zcml.py >> 2011-03-10 15:13:48 UTC (rev 120849) >> +++ Products.GenericSetup/trunk/Products/GenericSetup/zcml.py >> 2011-03-10 16:56:57 UTC (rev 120850) > [...] >> def cleanUpImportSteps(): >> - global _import_step_regs >> - for name in _import_step_regs: >> - try: >> - _import_step_registry.unregisterStep(name) >> - except KeyError: >> - pass >> + pass >> >> - _import_step_regs = [] >> - >> def cleanUpExportSteps(): >> - global _export_step_regs >> - for name in _export_step_regs: >> - try: >> - _export_step_registry.unregisterStep(name) >> - except KeyError: >> - pass >> + pass > > Why didn't you remove cleanUpImportSteps and cleanUpExportSteps? I should have. All cleanup functions are now gone. > > > Cheers, > > Yuppie -- Godefroid Chapelle (aka __gotcha) http://bubblenet.be _______________________________________________ Zope-CMF maillist - Zope-CMF@zope.org https://mail.zope.org/mailman/listinfo/zope-cmf See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests