equal
deleted
inserted
replaced
150 usercls = self.vreg['etypes'].etype_class('CWUser') |
150 usercls = self.vreg['etypes'].etype_class('CWUser') |
151 for session in self._sessions.values(): |
151 for session in self._sessions.values(): |
152 if not isinstance(session.user, InternalManager): |
152 if not isinstance(session.user, InternalManager): |
153 session.user.__class__ = usercls |
153 session.user.__class__ = usercls |
154 |
154 |
155 def _bootstrap_hook_registry(self): |
|
156 """called during bootstrap since we need the metadata hooks""" |
|
157 hooksdirectory = join(CW_SOFTWARE_ROOT, 'hooks') |
|
158 self.vreg.init_registration([hooksdirectory]) |
|
159 self.vreg.load_file(join(hooksdirectory, 'metadata.py'), |
|
160 'cubicweb.hooks.metadata') |
|
161 |
|
162 def open_connections_pools(self): |
155 def open_connections_pools(self): |
163 config = self.config |
156 config = self.config |
164 self._available_pools = Queue.Queue() |
157 self._available_pools = Queue.Queue() |
165 self._available_pools.put_nowait(pool.ConnectionsPool(self.sources)) |
158 self._available_pools.put_nowait(pool.ConnectionsPool(self.sources)) |
166 if config.quick_start: |
159 if config.quick_start: |
182 etdirectory = join(CW_SOFTWARE_ROOT, 'entities') |
175 etdirectory = join(CW_SOFTWARE_ROOT, 'entities') |
183 self.vreg.init_registration([etdirectory]) |
176 self.vreg.init_registration([etdirectory]) |
184 for modname in ('__init__', 'authobjs', 'wfobjs'): |
177 for modname in ('__init__', 'authobjs', 'wfobjs'): |
185 self.vreg.load_file(join(etdirectory, '%s.py' % modname), |
178 self.vreg.load_file(join(etdirectory, '%s.py' % modname), |
186 'cubicweb.entities.%s' % modname) |
179 'cubicweb.entities.%s' % modname) |
187 self._bootstrap_hook_registry() |
180 hooksdirectory = join(CW_SOFTWARE_ROOT, 'hooks') |
|
181 self.vreg.load_file(join(hooksdirectory, 'metadata.py'), |
|
182 'cubicweb.hooks.metadata') |
188 elif config.read_instance_schema: |
183 elif config.read_instance_schema: |
189 # normal start: load the instance schema from the database |
184 # normal start: load the instance schema from the database |
190 self.fill_schema() |
185 self.fill_schema() |
191 else: |
186 else: |
192 # test start: use the file system schema (quicker) |
187 # test start: use the file system schema (quicker) |
231 schema.rebuild_infered_relations() |
226 schema.rebuild_infered_relations() |
232 self.info('set schema %s %#x', schema.name, id(schema)) |
227 self.info('set schema %s %#x', schema.name, id(schema)) |
233 if resetvreg: |
228 if resetvreg: |
234 if self.config._cubes is None: |
229 if self.config._cubes is None: |
235 self.config.init_cubes(self.get_cubes()) |
230 self.config.init_cubes(self.get_cubes()) |
236 # full reload of all appobjects |
231 # trigger full reload of all appobjects |
237 self.vreg.reset() |
|
238 self.vreg.set_schema(schema) |
232 self.vreg.set_schema(schema) |
239 else: |
233 else: |
240 self.vreg._set_schema(schema) |
234 self.vreg._set_schema(schema) |
241 self.querier.set_schema(schema) |
235 self.querier.set_schema(schema) |
242 for source in self.sources: |
236 for source in self.sources: |