Mercurial > dottes
view abcfirstline.py @ 120:4b0025be9d22
Try to cope with Squeeze and Sid xetex problems.
On Sid, "xdvipdfmx -p a5 -l" outputs its first page in A4 portrait.
So guess which we're using and use the appropriate invocation.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 13 Apr 2012 16:20:43 +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)