Mercurial > dottes
view abcfirstline.py @ 577:c8b42d9b9224
Added tag build-default-237 for changeset a44de27fd0f8
author | Jenkins Build Manager <jenkins@cryhavoc.org.uk> |
---|---|
date | Sat, 15 Oct 2016 18:34:03 +0100 |
parents | 811151d3ae73 |
children | 1b79867b4f35 |
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): continued = False print "X:1" for line in inf: line = line.strip() # If it is empty or starts "%", ignore it. if len(line) == 0 or line[0] == "%": continue # Is it a header line? I.e. does it start LETTER COLON? # If so, output only ones we need. start = line[:2] if len(start) > 1 and start[1] == ":" and start[0].isalpha(): if start[0] in ["M", "K", "L"]: print line # Output line. If it is a continuation, output at most one # continuation. else: print line if continued or line[-1] != "\\": break else: continued = True 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)