#!/usr/bin/env python
#
# $Source: /home/blais/repos/cvsroot/arubomu/old/bin/fix-user-attribs,v $
# $Id: fix-user-attribs,v 1.1 2004/02/07 23:16:29 blais Exp $
#

"""fix-user-attribs [<options>] <file>

Fix user attributes: make them into elements with some renaming involved.

"""

__version__ = "$Revision: 1.1 $"
__author__ = "Martin Blais <blais@furius.ca>"


import sys, os

from elementtree import ElementTree


def main():
    import optparse
    parser = optparse.OptionParser(__doc__.strip(), version=__version__)
    opts, args = parser.parse_args()

    if len(args) != 1:
        raise parser.error("Please specify a single input file.")
    fn = args[0]

    try:
        tree = ElementTree.parse(fn)
    except IOError, e:
        raise SystemExit("Error: couldn't read file (%s):" % fn + str(e))

    for user in tree.findall('//user'):
        for k, v in user.attrib.iteritems():
            if k == 'src':
                k = 'source'
            e = user.makeelement(k, {})
            e.text = v
            user.insert(0, e)
        user.attrib.clear()

    tree.write(sys.stdout, encoding='iso-8859-1')
    print

if __name__ == '__main__':
    main()

