view abcfirstline.py @ 54:00a1bef43a34

Fix past end of string bug in Python first line hack.
author Jim Hague <jim.hague@laicatc.com>
date Sun, 04 Mar 2012 21:44:31 +0000
parents e666306c5ab1
children 811151d3ae73
line wrap: on
line source

#!/usr/bin/env python
#
# Write out a modified version of a .abc file with just the data
# to print the first line of the music only.
#

import sys

def process(inf):
    print "X:1"
    for line in inf:
        line = line.strip()
        start = line[:2]
        if len(start) > 1 and start[0] != "|" and start[1] == ":":
            if start[0] in ["M", "K", "L"]:
                print line
        elif start[0] != "%":
            print line
            if line[-1] != "\\":
                break

if len(sys.argv) > 1:
    for arg in sys.argv[1:]:
        try:
            inf = open(arg, "r")
            process(inf)
        finally:
            inf.close()
else:
    process(sys.stdin)