295 # this method has to be cached since when the server is running using a |
295 # this method has to be cached since when the server is running using a |
296 # restricted user, this user usually don't have access to the sources |
296 # restricted user, this user usually don't have access to the sources |
297 # configuration file (#16102) |
297 # configuration file (#16102) |
298 @cached |
298 @cached |
299 def read_sources_file(self): |
299 def read_sources_file(self): |
|
300 """return a dictionary of values found in the sources file""" |
300 return read_config(self.sources_file(), raise_if_unreadable=True) |
301 return read_config(self.sources_file(), raise_if_unreadable=True) |
301 |
302 |
302 def sources(self): |
303 @property |
303 """return a dictionnaries containing sources definitions indexed by |
304 def system_source_config(self): |
304 sources'uri |
305 return self.read_sources_file()['system'] |
305 """ |
306 |
306 return self.read_sources_file() |
307 @property |
|
308 def default_admin_config(self): |
|
309 return self.read_sources_file()['admin'] |
307 |
310 |
308 def source_enabled(self, source): |
311 def source_enabled(self, source): |
309 if self.sources_mode is not None: |
312 if self.sources_mode is not None: |
310 if 'migration' in self.sources_mode: |
313 if 'migration' in self.sources_mode: |
311 assert len(self.sources_mode) == 1 |
314 assert len(self.sources_mode) == 1 |