summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2006-05-04 15:23:16 -0400
committerJim Meyering <jim@meyering.net>2006-05-04 15:23:16 -0400
commitd24d9823cf254964c575030421c4972c24c45366 (patch)
tree2a29b53cb2e864d2167e2567828f00372c684c40
parent018d57abccb1ad0310792a3018cad652c2bc70c6 (diff)
downloadthird_party-cobbler-d24d9823cf254964c575030421c4972c24c45366.tar.gz
third_party-cobbler-d24d9823cf254964c575030421c4972c24c45366.tar.xz
third_party-cobbler-d24d9823cf254964c575030421c4972c24c45366.zip
Switch to syck since Mihai has it packaged now. Check for syck brokenness in main().
-rwxr-xr-xcobbler/cobbler.py6
-rw-r--r--cobbler/config.py10
-rw-r--r--cobbler/sync.py7
3 files changed, 14 insertions, 9 deletions
diff --git a/cobbler/cobbler.py b/cobbler/cobbler.py
index 47c8c5a..0b26307 100755
--- a/cobbler/cobbler.py
+++ b/cobbler/cobbler.py
@@ -9,6 +9,7 @@ library. Consult 'man cobbler' for general info.
import os
import sys
import api
+import syck
from msg import *
class BootCLI:
@@ -290,6 +291,11 @@ def main():
"""
CLI entry point
"""
+
+ # verify syck isn't busted (old syck bindings were)
+ if not hasattr(syck,"dump"):
+ raise Exception("needs a more-recent PySyck")
+
if os.getuid() != 0:
# while it's true that we don't technically need root, we do need
# permissions on a relatively long list of files that ordinarily
diff --git a/cobbler/config.py b/cobbler/config.py
index 26192a7..aa17763 100644
--- a/cobbler/config.py
+++ b/cobbler/config.py
@@ -6,7 +6,7 @@
import api
import util
from msg import *
-import yaml # the yaml parser from RHN's spec-tree (Howell/Evans)
+import syck # pysyck > 0.61, so it has dump()
import os
import traceback
@@ -160,7 +160,7 @@ class BootConfig:
self.api.last_error = m("cant_create: %s" % self.settings_file)
return False
data = self.to_hash(True)
- settings.write(yaml.dump(data))
+ settings.write(syck.dump(data))
# ------
# dump internal state (distros, profiles, systems...)
@@ -174,7 +174,7 @@ class BootConfig:
self.api.last_error = m("cant_create: %s" % self.state_file)
return False
data = self.to_hash(False)
- state.write(yaml.dump(data))
+ state.write(syck.dump(data))
# all good
return True
@@ -189,7 +189,7 @@ class BootConfig:
# -----
# load global config (pathing, urls, etc)...
try:
- settings = yaml.load(open(self.settings_file,"r").read()).next()
+ settings = syck.load(open(self.settings_file,"r").read())
if settings is not None:
self.from_hash(settings,True)
else:
@@ -203,7 +203,7 @@ class BootConfig:
# -----
# load internal state(distros, systems, profiles...)
try:
- state = yaml.load(open(self.state_file,"r").read()).next()
+ state = syck.load(open(self.state_file,"r").read())
if state is not None:
self.from_hash(state,False)
else:
diff --git a/cobbler/sync.py b/cobbler/sync.py
index ae20872..80b0c67 100644
--- a/cobbler/sync.py
+++ b/cobbler/sync.py
@@ -10,8 +10,7 @@ import sys
import traceback
import re
import shutil
-import yaml # from RHN's spec-tree (Howell/Evans)
-
+import syck
import IPy
from msg import *
@@ -253,7 +252,7 @@ class BootSync:
# resolve to current values
distro.kernel = self.api.utils.find_kernel(distro.kernel)
distro.initrd = self.api.utils.find_initrd(distro.initrd)
- self.tee(fd,yaml.dump(distro.to_datastruct()))
+ self.tee(fd,syck.dump(distro.to_datastruct()))
self.close_file(fd)
@@ -266,7 +265,7 @@ class BootSync:
# the HTTP mirror, so make it something anaconda can get at
if profile.kickstart and profile.kickstart.startswith("/"):
profile.kickstart = "http://%s/cobbler/kickstarts/%s/ks.cfg" % (self.api.config.server, profile.name)
- self.tee(fd,yaml.dump(profile.to_datastruct()))
+ self.tee(fd,syck.dump(profile.to_datastruct()))
self.close_file(fd)