Mercurial > dottes
view abcfirstline.py @ 488:e16c20e63d9c build-default-209
Decide that all links for downloading things should get HTML5 download tags.
The audio players exist to play things on the page. Everything else is to
download the file, really. I think.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Tue, 17 Jun 2014 12:32:15 +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)