cwconfig.py
branchstable
changeset 6659 6205927e927a
parent 6657 402bff898024
child 6660 f5a018f330ac
child 6729 1a423eaee782
equal deleted inserted replaced
6657:402bff898024 6659:6205927e927a
   492                     deps = {}
   492                     deps = {}
   493             else:
   493             else:
   494                 deps = dict( (x[len('cubicweb-'):], v)
   494                 deps = dict( (x[len('cubicweb-'):], v)
   495                              for x, v in gendeps.iteritems()
   495                              for x, v in gendeps.iteritems()
   496                              if x.startswith('cubicweb-'))
   496                              if x.startswith('cubicweb-'))
   497                 if 'cubicweb' in gendeps:
       
   498                     deps['cubicweb'] = gendeps['cubicweb']
       
   499         if not isinstance(deps, dict):
   497         if not isinstance(deps, dict):
   500             deps = dict((key, None) for key in deps)
   498             deps = dict((key, None) for key in deps)
   501             warn('[3.8] cube %s should define %s as a dict' % (cube, key),
   499             warn('[3.8] cube %s should define %s as a dict' % (cube, key),
   502                  DeprecationWarning)
   500                  DeprecationWarning)
   503         for depcube in deps:
   501         for depcube in deps:
   506             except KeyError:
   504             except KeyError:
   507                 pass
   505                 pass
   508             else:
   506             else:
   509                 deps[newname] = deps.pop(depcube)
   507                 deps[newname] = deps.pop(depcube)
   510         return deps
   508         return deps
       
   509 
       
   510     @classmethod
       
   511     def cube_depends_cubicweb_version(cls, cube):
       
   512         # XXX no backward compat (see _cube_deps above)
       
   513         try:
       
   514             pkginfo = cls.cube_pkginfo(cube)
       
   515             deps = getattr(pkginfo, '__depends__')
       
   516             return deps.get('cubicweb')
       
   517         except AttributeError:
       
   518             return None
   511 
   519 
   512     @classmethod
   520     @classmethod
   513     def cube_dependencies(cls, cube):
   521     def cube_dependencies(cls, cube):
   514         """return cubicweb cubes used by the given cube"""
   522         """return cubicweb cubes used by the given cube"""
   515         return cls._cube_deps(cube, '__depends_cubes__', '__use__')
   523         return cls._cube_deps(cube, '__depends_cubes__', '__use__')