Example #1
0
class ConfigFileSet(PackageSet):
    def __init__(self, filename):
        super(ConfigFileSet, self).__init__()
        self._filename = filename
        self.description = "Package set generated from %s" % self._filename
        self.loader = KeyListFileLoader(self._filename, ValidAtomValidator)

    def load(self):
        data, errors = self.loader.load()
        self._setAtoms(iter(data))

    def singleBuilder(self, options, settings, trees):
        if not "filename" in options:
            raise SetConfigError(_("no filename specified"))
        return ConfigFileSet(options["filename"])

    singleBuilder = classmethod(singleBuilder)

    def multiBuilder(self, options, settings, trees):
        rValue = {}
        directory = options.get("directory", os.path.join(settings["PORTAGE_CONFIGROOT"], USER_CONFIG_PATH))
        name_pattern = options.get("name_pattern", "sets/package_$suffix")
        if not "$suffix" in name_pattern and not "${suffix}" in name_pattern:
            raise SetConfigError(_("name_pattern doesn't include $suffix placeholder"))
        for suffix in ["keywords", "use", "mask", "unmask"]:
            myname = name_pattern.replace("$suffix", suffix)
            myname = myname.replace("${suffix}", suffix)
            rValue[myname] = ConfigFileSet(os.path.join(directory, "package." + suffix))
        return rValue

    multiBuilder = classmethod(multiBuilder)
Example #2
0
class ConfigFileSet(PackageSet):
	def __init__(self, filename):
		super(ConfigFileSet, self).__init__()
		self._filename = filename
		self.description = "Package set generated from %s" % self._filename
		self.loader = KeyListFileLoader(self._filename, ValidAtomValidator)

	def load(self):
		data, errors = self.loader.load()
		self._setAtoms(iter(data))
	
	def singleBuilder(self, options, settings, trees):
		if not "filename" in options:
			raise SetConfigError(_("no filename specified"))
		return ConfigFileSet(options["filename"])
	singleBuilder = classmethod(singleBuilder)
	
	def multiBuilder(self, options, settings, trees):
		rValue = {}
		directory = options.get("directory",
			os.path.join(settings["PORTAGE_CONFIGROOT"], USER_CONFIG_PATH))
		name_pattern = options.get("name_pattern", "sets/package_$suffix")
		if not "$suffix" in name_pattern and not "${suffix}" in name_pattern:
			raise SetConfigError(_("name_pattern doesn't include $suffix placeholder"))
		for suffix in ["keywords", "use", "mask", "unmask"]:
			myname = name_pattern.replace("$suffix", suffix)
			myname = myname.replace("${suffix}", suffix)
			rValue[myname] = ConfigFileSet(os.path.join(directory, "package."+suffix))
		return rValue
	multiBuilder = classmethod(multiBuilder)
Example #3
0
 def __init__(self, filename):
     super(ConfigFileSet, self).__init__()
     self._filename = filename
     self.description = "Package set generated from %s" % self._filename
     self.loader = KeyListFileLoader(self._filename, ValidAtomValidator)
Example #4
0
	def __init__(self, filename):
		super(ConfigFileSet, self).__init__()
		self._filename = filename
		self.description = "Package set generated from %s" % self._filename
		self.loader = KeyListFileLoader(self._filename, ValidAtomValidator)