X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Ftransitions.py;h=b7e50651e8d4daf7b8d284f89bf4a9e5c0fe10cf;hb=16f731a893f0ba036a995c25b8b5f3490394070e;hp=5c81e03aca1829af9dbd933efc0bc2c277b35779;hpb=8e60420c69a993a4041c22008dafc2fcb238d0d5;p=dak.git diff --git a/dak/transitions.py b/dak/transitions.py index 5c81e03a..b7e50651 100755 --- a/dak/transitions.py +++ b/dak/transitions.py @@ -27,7 +27,8 @@ import os, pg, sys, time, errno, fcntl, tempfile, pwd, re import apt_pkg from daklib import database from daklib import utils -import syck +from daklib.dak_exceptions import TransitionsError +import yaml # Globals Cnf = None @@ -104,10 +105,10 @@ def load_transitions(trans_file): sourcecontent = sourcefile.read() failure = False try: - trans = syck.load(sourcecontent) - except syck.error, msg: + trans = yaml.load(sourcecontent) + except yaml.YAMLError, exc: # Someone fucked it up - print "ERROR: %s" % (msg) + print "ERROR: %s" % (exc) return None # lets do further validation here @@ -218,7 +219,7 @@ def write_transitions(from_trans): temp_lock = lock_file(trans_temp) destfile = file(trans_temp, 'w') - syck.dump(from_trans, destfile) + yaml.dump(from_trans, destfile, default_flow_style=False) destfile.close() os.rename(trans_temp, trans_file) @@ -227,9 +228,6 @@ def write_transitions(from_trans): ################################################################################ -class ParseException(Exception): - pass - ########################################## #### This usually runs within sudo !! #### ########################################## @@ -248,7 +246,7 @@ def write_transitions_from_file(from_file): else: trans = load_transitions(from_file) if trans is None: - raise ParseException, "Unparsable transitions file %s" % (file) + raise TransitionsError, "Unparsable transitions file %s" % (file) write_transitions(trans) ################################################################################ @@ -261,7 +259,7 @@ def temp_transitions_file(transitions): (fd, path) = tempfile.mkstemp("", "transitions", Cnf["Transitions::TempPath"]) os.chmod(path, 0644) f = open(path, "w") - syck.dump(transitions, f) + yaml.dump(transitions, f, default_flow_style=False) return path ################################################################################ @@ -458,7 +456,7 @@ def main(): if Options["import"]: try: write_transitions_from_file(Options["import"]) - except ParseException, m: + except TransitionsError, m: print m sys.exit(2) sys.exit(0)