Mercurial > dottes
view abcfirstline.py @ 229:1e4443d58177
Modify Change tune handling.
Change all change notes to reference the filename of the tune to change to.
Modify web and document generators to pull the change note out of the abc
and generate an appropiate bit of content. This is now, in both cases,
a hyperlink.
In the process, remove the tune-specific .tex facility. It wasn't being
used.
I could really do with a proper templating system, and using some sort
of templating in the LaTeX generation.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Sat, 23 Feb 2013 13:10:58 +0000 |
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)