devtools/devctl.py
branchstable
changeset 5344 ed4cd1ca96d6
parent 4722 9c13d5db03d9
child 5347 8ebed973819b
child 5375 962e13ab0930
equal deleted inserted replaced
5341:0de53140bd29 5344:ed4cd1ca96d6
   513             distname = default_name
   513             distname = default_name
   514 
   514 
   515         longdesc = shortdesc = raw_input('Enter a short description for your cube: ')
   515         longdesc = shortdesc = raw_input('Enter a short description for your cube: ')
   516         if verbose:
   516         if verbose:
   517             longdesc = raw_input('Enter a long description (leave empty to reuse the short one): ')
   517             longdesc = raw_input('Enter a long description (leave empty to reuse the short one): ')
       
   518         dependencies = {}
   518         if verbose:
   519         if verbose:
   519             includes = self._ask_for_dependancies()
   520             dependencies = self._ask_for_dependencies()
   520             if len(includes) == 1:
       
   521                 dependancies = '%r,' % includes[0]
       
   522             else:
       
   523                 dependancies = ', '.join(repr(cube) for cube in includes)
       
   524         else:
       
   525             dependancies = ''
       
   526         context = {'cubename' : cubename,
   521         context = {'cubename' : cubename,
   527                    'distname' : distname,
   522                    'distname' : distname,
   528                    'shortdesc' : shortdesc,
   523                    'shortdesc' : shortdesc,
   529                    'longdesc' : longdesc or shortdesc,
   524                    'longdesc' : longdesc or shortdesc,
   530                    'dependancies' : dependancies,
   525                    'dependencies' : dict((dep, None) for dep in dependencies),
   531                    'version'  : cubicwebversion,
   526                    'version'  : cubicwebversion,
   532                    'year'  : str(datetime.now().year),
   527                    'year'  : str(datetime.now().year),
   533                    'author': self['author'],
   528                    'author': self['author'],
   534                    'author-email': self['author-email'],
   529                    'author-email': self['author-email'],
   535                    'author-web-site': self['author-web-site'],
   530                    'author-web-site': self['author-web-site'],
   536                    }
   531                    }
   537         copy_skeleton(skeldir, cubedir, context)
   532         copy_skeleton(skeldir, cubedir, context)
   538 
   533 
   539     def _ask_for_dependancies(self):
   534     def _ask_for_dependencies(self):
   540         from logilab.common.shellutils import ASK
   535         from logilab.common.shellutils import ASK
   541         from logilab.common.textutils import splitstrip
   536         from logilab.common.textutils import splitstrip
   542         includes = []
   537         includes = []
   543         for stdtype in ServerConfiguration.available_cubes():
   538         for stdtype in ServerConfiguration.available_cubes():
   544             answer = ASK.ask("Depends on cube %s? " % stdtype,
   539             answer = ASK.ask("Depends on cube %s? " % stdtype,
   545                              ('N','y','skip','type'), 'N')
   540                              ('N','y','skip','type'), 'N')
   546             if answer == 'y':
   541             if answer == 'y':
   547                 includes.append(stdtype)
   542                 includes.append(stdtype)
   548             if answer == 'type':
   543             if answer == 'type':
   549                 includes = splitstrip(raw_input('type dependancies: '))
   544                 includes = splitstrip(raw_input('type dependencies: '))
   550                 break
   545                 break
   551             elif answer == 'skip':
   546             elif answer == 'skip':
   552                 break
   547                 break
   553         return includes
   548         return includes
   554 
   549