def setModel(self, pkgName, groups, version=None): """ Freeze group model and save to the repository. """ log.info('saving model for %s' % pkgName) recipeDir = self._edit(pkgName, version=version) groupFileName = util.join(recipeDir, 'groups.xml') groupModel = GroupModel() for name, model in groups.iteritems(): groupfn = util.join(recipeDir, model.fileName) model.freeze(groupfn) groupModel.add( name=name, filename=model.fileName, byDefault=model.byDefault, depCheck=model.depCheck, checkPathConflicts=model.checkPathConflicts, ) self._addFile(recipeDir, model.fileName) groupModel.freeze(groupFileName) self._addFile(recipeDir, 'groups.xml')
def setModel(self, pkgName, groups, version=None): """ Freeze group model and save to the repository. """ log.info('saving model for %s' % pkgName) recipeDir = self._edit(pkgName, version=version) groupFileName = util.join(recipeDir, 'groups.xml') groupModel = GroupModel() for name, model in groups.iteritems(): groupfn = util.join(recipeDir, model.fileName) model.freeze(groupfn) groupModel.add(name=name, filename=model.fileName, byDefault=model.byDefault, depCheck=model.depCheck, checkPathConflicts=model.checkPathConflicts,) self._addFile(recipeDir, model.fileName) groupModel.freeze(groupFileName) self._addFile(recipeDir, 'groups.xml')
def getModel(self, pkgName, version=None): """ Get a thawed data representation of the group xml data from the repository. """ log.info('loading model for %s' % pkgName) recipeDir = self._edit(pkgName, version=version) groupFileName = util.join(recipeDir, 'groups.xml') # load group model groups = {} if os.path.exists(groupFileName): model = GroupModel.thaw(groupFileName) for name, groupObj in model.iteritems(): contentFileName = util.join(recipeDir, groupObj.filename) contentsModel = GroupContentsModel.thaw(contentFileName, (name, groupObj.byDefault, groupObj.depCheck, groupObj.checkPathConflicts)) contentsModel.fileName = groupObj.filename groups[groupObj.name] = contentsModel return groups
def getModel(self, pkgName, version=None): """ Get a thawed data representation of the group xml data from the repository. """ log.info('loading model for %s' % pkgName) recipeDir = self._edit(pkgName, version=version) groupFileName = util.join(recipeDir, 'groups.xml') # load group model groups = {} if os.path.exists(groupFileName): model = GroupModel.thaw(groupFileName) for name, groupObj in model.iteritems(): contentFileName = util.join(recipeDir, groupObj.filename) contentsModel = GroupContentsModel.thaw( contentFileName, (name, groupObj.byDefault, groupObj.depCheck, groupObj.checkPathConflicts)) contentsModel.fileName = groupObj.filename groups[groupObj.name] = contentsModel return groups