Mercurial > dottes
view abcfirstline.py @ 650:9982077ac9b2
Update tune format files.
In the main one, just remove a couple of now deprecated settings that
did nothing anyway.
For the web format, which is actually the format used to generate
the downloadable PDFs, bring it into line with the main format
but leave the margins at the default settings. Also remove the
deprecated settings.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Thu, 10 Nov 2016 00:47:55 +0000 |
parents | 1b79867b4f35 |
children |
line wrap: on
line source
#!/usr/bin/env python3 # # 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 (or +) COLON? # If so, output only ones we need. start = line[:2] if len(start) > 1 and start[1] == ":" and (start[0].isalpha() or start[0] == '+'): 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)