X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdecode_dot_dak.py;h=54b4ca12592aa9b8862c909e08cae3514c459d14;hb=066d01be84db56933591117e616ac35203dffd18;hp=e832851f83a97204e97b97db2d6f5a320748b082;hpb=59fd5aa2a8be3b76dbc968429c457f096adfa472;p=dak.git diff --git a/dak/decode_dot_dak.py b/dak/decode_dot_dak.py index e832851f..54b4ca12 100755 --- a/dak/decode_dot_dak.py +++ b/dak/decode_dot_dak.py @@ -1,8 +1,7 @@ #!/usr/bin/env python -# Dump variables from a .katie file to stdout -# Copyright (C) 2001, 2002, 2004 James Troup -# $Id: ashley,v 1.11 2004-11-27 16:05:12 troup Exp $ +""" Dump variables from a .dak file to stdout """ +# Copyright (C) 2001, 2002, 2004, 2006 James Troup # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,16 +26,16 @@ ################################################################################ -import sys; -import katie, utils; -import apt_pkg; - +import sys +import apt_pkg +from daklib.changes import Changes +from daklib import utils ################################################################################ def usage(exit_code=0): - print """Usage: ashley FILE... -Dumps the info in .katie FILE(s). + print """Usage: dak decode-dot-dak FILE... +Dumps the info in .dak FILE(s). -h, --help show this help and exit.""" sys.exit(exit_code) @@ -45,91 +44,26 @@ Dumps the info in .katie FILE(s). def main(): Cnf = utils.get_conf() - Arguments = [('h',"help","Ashley::Options::Help")]; + Arguments = [('h',"help","Decode-Dot-Dak::Options::Help")] for i in [ "help" ]: - if not Cnf.has_key("Ashley::Options::%s" % (i)): - Cnf["Ashley::Options::%s" % (i)] = ""; + if not Cnf.has_key("Decode-Dot-Dak::Options::%s" % (i)): + Cnf["Decode-Dot-Dak::Options::%s" % (i)] = "" - apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv); + apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv) - Options = Cnf.SubTree("Ashley::Options") + Options = Cnf.SubTree("Decode-Dot-Dak::Options") if Options["Help"]: - usage(); + usage() + - k = katie.Katie(Cnf); for arg in sys.argv[1:]: - arg = utils.validate_changes_file_arg(arg,require_changes=-1); - k.pkg.changes_file = arg; - print "%s:" % (arg); - k.init_vars(); - k.update_vars(); - - changes = k.pkg.changes; - print " Changes:"; - # Mandatory changes fields - for i in [ "source", "version", "maintainer", "urgency", "changedby822", - "changedby2047", "changedbyname", "maintainer822", - "maintainer2047", "maintainername", "maintaineremail", - "fingerprint", "changes" ]: - print " %s: %s" % (i.capitalize(), changes[i]); - del changes[i]; - # Mandatory changes lists - for i in [ "distribution", "architecture", "closes" ]: - print " %s: %s" % (i.capitalize(), " ".join(changes[i].keys())); - del changes[i]; - # Optional changes fields - for i in [ "changed-by", "filecontents", "format" ]: - if changes.has_key(i): - print " %s: %s" % (i.capitalize(), changes[i]); - del changes[i]; - print; - if changes: - utils.warn("changes still has following unrecognised keys: %s" % (changes.keys())); - - dsc = k.pkg.dsc; - print " Dsc:"; - for i in [ "source", "version", "maintainer", "fingerprint", "uploaders", - "bts changelog" ]: - if dsc.has_key(i): - print " %s: %s" % (i.capitalize(), dsc[i]); - del dsc[i]; - print; - if dsc: - utils.warn("dsc still has following unrecognised keys: %s" % (dsc.keys())); - - files = k.pkg.files; - print " Files:" - for file in files.keys(): - print " %s:" % (file); - for i in [ "package", "version", "architecture", "type", "size", - "md5sum", "component", "location id", "source package", - "source version", "maintainer", "dbtype", "files id", - "new", "section", "priority", "pool name" ]: - if files[file].has_key(i): - print " %s: %s" % (i.capitalize(), files[file][i]); - del files[file][i]; - if files[file]: - utils.warn("files[%s] still has following unrecognised keys: %s" % (file, files[file].keys())); - print; - - dsc_files = k.pkg.dsc_files; - print " Dsc Files:"; - for file in dsc_files.keys(): - print " %s:" % (file); - # Mandatory fields - for i in [ "size", "md5sum" ]: - print " %s: %s" % (i.capitalize(), dsc_files[file][i]); - del dsc_files[file][i]; - # Optional fields - for i in [ "files id" ]: - if dsc_files[file].has_key(i): - print " %s: %s" % (i.capitalize(), dsc_files[file][i]); - del dsc_files[file][i]; - if dsc_files[file]: - utils.warn("dsc_files[%s] still has following unrecognised keys: %s" % (file, dsc_files[file].keys())); + arg = utils.validate_changes_file_arg(arg,require_changes=-1) + k = Changes() + k.load_dot_dak(arg) + print arg + print k ################################################################################ if __name__ == '__main__': main() -