87 modes.append('web ui') |
87 modes.append('web ui') |
88 break |
88 break |
89 return modes |
89 return modes |
90 |
90 |
91 |
91 |
|
92 def available_cube_names(cwcfg): |
|
93 """Return a list of available cube names, with 'cubicweb_' prefix dropped. |
|
94 """ |
|
95 def drop_prefix(cube): |
|
96 prefix = 'cubicweb_' |
|
97 if cube.startswith(prefix): |
|
98 cube = cube[len(prefix):] |
|
99 return cube |
|
100 |
|
101 return [drop_prefix(cube) for cube in cwcfg.available_cubes()] |
|
102 |
|
103 |
92 class InstanceCommand(Command): |
104 class InstanceCommand(Command): |
93 """base class for command taking 0 to n instance id as arguments |
105 """base class for command taking 0 to n instance id as arguments |
94 (0 meaning all registered instances) |
106 (0 meaning all registered instances) |
95 """ |
107 """ |
96 arguments = '[<instance>...]' |
108 arguments = '[<instance>...]' |
218 |
230 |
219 if mode in ('all', 'cubes'): |
231 if mode in ('all', 'cubes'): |
220 cfgpb = ConfigurationProblem(cwcfg) |
232 cfgpb = ConfigurationProblem(cwcfg) |
221 try: |
233 try: |
222 cubesdir = pathsep.join(cwcfg.cubes_search_path()) |
234 cubesdir = pathsep.join(cwcfg.cubes_search_path()) |
223 namesize = max(len(x) for x in cwcfg.available_cubes()) |
235 cube_names = available_cube_names(cwcfg) |
|
236 namesize = max(len(x) for x in cube_names) |
224 except ConfigurationError as ex: |
237 except ConfigurationError as ex: |
225 print('No cubes available:', ex) |
238 print('No cubes available:', ex) |
226 except ValueError: |
239 except ValueError: |
227 print('No cubes available in %s' % cubesdir) |
240 print('No cubes available in %s' % cubesdir) |
228 else: |
241 else: |
229 print('Available cubes (%s):' % cubesdir) |
242 print('Available cubes (%s):' % cubesdir) |
230 for cube in cwcfg.available_cubes(): |
243 for cube in cube_names: |
231 try: |
244 try: |
232 tinfo = cwcfg.cube_pkginfo(cube) |
245 tinfo = cwcfg.cube_pkginfo(cube) |
233 tversion = tinfo.version |
246 tversion = tinfo.version |
234 cfgpb.add_cube(cube, tversion) |
247 cfgpb.add_cube(cube, tversion) |
235 except (ConfigurationError, AttributeError) as ex: |
248 except (ConfigurationError, AttributeError) as ex: |
358 templdirs = [cwcfg.cube_dir(cube) |
371 templdirs = [cwcfg.cube_dir(cube) |
359 for cube in cubes] |
372 for cube in cubes] |
360 except ConfigurationError as ex: |
373 except ConfigurationError as ex: |
361 print(ex) |
374 print(ex) |
362 print('\navailable cubes:', end=' ') |
375 print('\navailable cubes:', end=' ') |
363 print(', '.join(cwcfg.available_cubes())) |
376 print(', '.join(available_cube_names(cwcfg))) |
364 return |
377 return |
365 # create the registry directory for this instance |
378 # create the registry directory for this instance |
366 print('\n'+underline_title('Creating the instance %s' % appid)) |
379 print('\n'+underline_title('Creating the instance %s' % appid)) |
367 create_dir(config.apphome) |
380 create_dir(config.apphome) |
368 # cubicweb-ctl configuration |
381 # cubicweb-ctl configuration |