#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
#
# $Source: /home/blais/repos/cvsroot/arubomu/old/bin/add-encoder,v $
# $Id: add-encoder,v 1.1 2005/03/16 04:44:20 blais Exp $
#

"""
Add the encoder field to all albums.

"""

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


import sys, os, itertools, re



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

    parser.add_option('-e', '--encoder', action='store',
                      default='unknown',
                      help="Encoder value to add")

    opts, args = parser.parse_args()
    fn = args[0]

    lines = open(fn, 'r').readlines()
    mre = re.compile('^(\s+)</user')
    found = 0
    for c, l in zip(itertools.count(), lines):
        mo = mre.search(l)
        if mo:
            newln = mo.group(1) + '   ' + '<encoder>%s</encoder>' % opts.encoder + os.linesep
            lines.insert(c, newln)
            found = 1

    if not found:
        raise RuntimeError

    print ''.join(lines)

if __name__ == '__main__':
    sys.exit(main())
