diff options
Diffstat (limited to 'cobbler/system.py')
-rw-r--r-- | cobbler/system.py | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/cobbler/system.py b/cobbler/system.py index dc1a2f77..9e5e5c6e 100644 --- a/cobbler/system.py +++ b/cobbler/system.py @@ -1,16 +1,21 @@ +import utils +import item -class System(Item): +class System(item.Item): - def __init__(self,api,seed_data): - self.api = api + def __init__(self,config): + self.config = config + self.clear() + + def clear(self): self.name = None self.profile = None # a name, not a reference self.kernel_options = "" - if seed_data is not None: - self.name = seed_data['name'] - self.profile = seed_data['profile'] - self.kernel_options = seed_data['kernel_options'] + def from_datastruct(seed_data): + self.name = seed_data['name'] + self.profile = seed_data['profile'] + self.kernel_options = seed_data['kernel_options'] def set_name(self,name): """ @@ -18,9 +23,9 @@ class System(Item): any legal ipv4 address, or any legal mac address. ipv6 is not supported yet but _should_ be. See utils.py """ - new_name = self.api.utils.find_system_identifier(name) + new_name = utils.find_system_identifier(name) if new_name is None or new_name == False: - self.api.last_error = m("bad_sys_name") + utils.last_error = m("bad_sys_name") return False self.name = name # we check it add time, but store the original value. return True @@ -30,7 +35,7 @@ class System(Item): Set the system to use a certain named profile. The profile must have already been loaded into the Profiles collection. """ - if self.api.get_profiles().find(profile_name): + if self.config.profiles().find(profile_name): self.profile = profile_name return True return False @@ -40,7 +45,7 @@ class System(Item): A system is valid when it contains a valid name and a profile. """ if self.name is None: - self.api.last_error = m("bad_sys_name") + utils.last_error = m("bad_sys_name") return False if self.profile is None: return False |