Source code for cobbler.items.package

from cobbler import resource

from cobbler.cexceptions import CX
from cobbler.utils import _


# this data structure is described in item.py
FIELDS = [
    # non-editable in UI (internal)
    ["ctime", 0, 0, "", False, "", 0, "float"],
    ["depth", 2, 0, "", False, "", 0, "float"],
    ["mtime", 0, 0, "", False, "", 0, "float"],
    ["uid", "", 0, "", False, "", 0, "str"],

    # editable in UI
    ["action", "create", 0, "Action", True, "Install or remove package resource", 0, "str"],
    ["comment", "", 0, "Comment", True, "Free form text description", 0, "str"],
    ["installer", "yum", 0, "Installer", True, "Package Manager", 0, "str"],
    ["name", "", 0, "Name", True, "Name of file resource", 0, "str"],
    ["owners", "SETTINGS:default_ownership", 0, "Owners", True, "Owners list for authz_ownership (space delimited)", [], "list"],
    ["version", "", 0, "Version", True, "Package Version", 0, "str"],
]


[docs]class Package(resource.Resource): TYPE_NAME = _("package") COLLECTION_TYPE = "package" # # override some base class methods first (item.Item) #
[docs] def make_clone(self): _dict = self.to_dict() cloned = Package(self.collection_mgr) cloned.from_dict(_dict) return cloned
[docs] def get_fields(self): return FIELDS
[docs] def check_if_valid(self): if not self.name: raise CX("name is required")
# # specific methods for item.Package #
[docs] def set_installer(self, installer): self.installer = installer.lower()
[docs] def set_version(self, version): self.version = version
# EOF