server/serverconfig.py
branchstable
changeset 6126 aca6a2c357fd
parent 5933 3d707b8f8a4d
child 6128 fbb8398f80dc
equal deleted inserted replaced
6125:46b9cbbc1e37 6126:aca6a2c357fd
   225     # should some hooks be deactivated during [pre|post]create script execution
   225     # should some hooks be deactivated during [pre|post]create script execution
   226     free_wheel = False
   226     free_wheel = False
   227 
   227 
   228     # list of enables sources when sources restriction is necessary
   228     # list of enables sources when sources restriction is necessary
   229     # (eg repository initialization at least)
   229     # (eg repository initialization at least)
   230     _enabled_sources = None
   230     enabled_sources = None
   231     @wproperty
       
   232     def enabled_sources(self, sourceuris=None):
       
   233         self._enabled_sources = sourceuris
       
   234         clear_cache(self, 'sources')
       
   235 
   231 
   236     def bootstrap_cubes(self):
   232     def bootstrap_cubes(self):
   237         from logilab.common.textutils import splitstrip
   233         from logilab.common.textutils import splitstrip
   238         for line in file(join(self.apphome, 'bootstrap_cubes')):
   234         for line in file(join(self.apphome, 'bootstrap_cubes')):
   239             line = line.strip()
   235             line = line.strip()
   264 
   260 
   265     def sources(self):
   261     def sources(self):
   266         """return a dictionnaries containing sources definitions indexed by
   262         """return a dictionnaries containing sources definitions indexed by
   267         sources'uri
   263         sources'uri
   268         """
   264         """
   269         allsources = self.read_sources_file()
   265         return self.read_sources_file()
   270         if self._enabled_sources is None:
   266 
   271             return allsources
   267     def source_enabled(self, uri):
   272         return dict((uri, config) for uri, config in allsources.items()
   268         return not self.enabled_sources or uri in self.enabled_sources
   273                     if uri in self._enabled_sources or uri == 'admin')
       
   274 
   269 
   275     def write_sources_file(self, sourcescfg):
   270     def write_sources_file(self, sourcescfg):
   276         sourcesfile = self.sources_file()
   271         sourcesfile = self.sources_file()
   277         if exists(sourcesfile):
   272         if exists(sourcesfile):
   278             import shutil
   273             import shutil
   323         else:
   318         else:
   324             known_sources = self.sources()
   319             known_sources = self.sources()
   325             for uri in sources:
   320             for uri in sources:
   326                 assert uri in known_sources, uri
   321                 assert uri in known_sources, uri
   327             enabled_sources = sources
   322             enabled_sources = sources
   328         self._enabled_sources = enabled_sources
   323         self.enabled_sources = enabled_sources
   329         clear_cache(self, 'sources')
       
   330 
   324 
   331     def migration_handler(self, schema=None, interactive=True,
   325     def migration_handler(self, schema=None, interactive=True,
   332                           cnx=None, repo=None, connect=True, verbosity=None):
   326                           cnx=None, repo=None, connect=True, verbosity=None):
   333         """return a migration handler instance"""
   327         """return a migration handler instance"""
   334         from cubicweb.server.migractions import ServerMigrationHelper
   328         from cubicweb.server.migractions import ServerMigrationHelper