]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/etf2ly.py
Merge branch 'master' into lilypond/translation
[lilypond.git] / scripts / etf2ly.py
index 5fb09c7333ac1df17336313134c8371b6616c6b5..39a6fba4abf08c2cc1a68c05aa95769539df7ec3 100644 (file)
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!@TARGET_PYTHON@
 
 # info mostly taken from looking at files. See also
 # http://lilypond.org/wiki/?EnigmaTransportFormat
@@ -30,7 +30,6 @@ import __main__
 import getopt
 import sys
 import re
-import string
 import os
 
 program_name = sys.argv[0]
@@ -39,35 +38,9 @@ version = '@TOPLEVEL_VERSION@'
 if version == '@' + 'TOPLEVEL_VERSION' + '@':
     version = '(unknown version)'           # uGUHGUHGHGUGH
 
-
-################################################################
-# Users of python modules should include this snippet.
-#
-libdir = '@local_lilypond_libdir@'
-if not os.path.isdir (libdir):
-    libdir = '@lilypond_libdir@'
-
-# ugh
-datadir = '@local_lilypond_datadir@'
-if os.environ.has_key ('LILYPONDPREFIX'):
-    datadir = os.environ['LILYPONDPREFIX']
-    while datadir[-1] == os.sep:
-        datadir= datadir[:-1]
-    libdir = datadir.replace ('/share/', '/lib/')
-
-if os.path.exists (os.path.join (datadir, 'lib/lilypond/@TOPLEVEL_VERSION@/')):
-    libdir = os.path.join (libdir, 'lib/lilypond/@TOPLEVEL_VERSION@/')
-    
-if os.path.exists (os.path.join (datadir, 'lib/lilypond/current/')):
-    libdir = os.path.join (libdir, 'lib/lilypond/current/')
-    
-sys.path.insert (0, os.path.join (libdir, 'python'))
-
-# dynamic relocation, for GUB binaries.
-bindir = os.path.split (sys.argv[0])[0]
-for p in ['share', 'lib']:
-    datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p)
-    sys.path.insert (0, datadir)
+"""
+@relocate-preamble@
+"""
 
 ################################################################
 
@@ -294,7 +267,7 @@ class Slur:
             if not cs or not ce:
                 raise IndexError
             
-            cs.note_suffix = '-(' + cs.note_suffix 
+            cs.note_suffix = '-(' + cs.note_suffix
             ce.note_suffix = ce.note_suffix + '-)'
             
         except IndexError:
@@ -598,7 +571,7 @@ class Staff:
                     if g.bracket == 'start':
                         strs.append ('"0."')
 
-                    str = string.join (map (lambda x: '(volta %s)' % x, strs))
+                    str = ' '.join (['(volta %s)' % x for x in strs])
                     
                     e = e + ' \\set Score.repeatCommands =  #\'(%s) ' % str
 
@@ -837,7 +810,7 @@ Return: (value, rest-of-STR)
             str = str[1:]
 
         
-        return (string.atol (hex, 16), str)
+        return (long (hex, 16), str)
     elif str[0] == '"':
         str = str[1:]
         s = ''
@@ -852,9 +825,9 @@ Return: (value, rest-of-STR)
             dec = dec  + str[0]
             str = str[1:]
             
-        return (string.atoi (dec), str)
+        return (int (dec), str)
     else:
-        sys.stderr.write ("can't convert `%s'\n" % str)
+        sys.stderr.write ("cannot convert `%s'\n" % str)
         return (None, str)
 
 
@@ -871,10 +844,10 @@ def parse_etf_file (fn, tag_dict):
     f = open (fn)
     
     gulp = re.sub ('[\n\r]+', '\n',  f.read ())
-    ls = string.split (gulp, '\n^')
+    ls = gulp.split ('\n^')
 
     etf_file_dict = {}
-    for k in tag_dict.keys (): 
+    for k in tag_dict:
         etf_file_dict[k] = {}
 
     last_tag = None
@@ -886,7 +859,7 @@ def parse_etf_file (fn, tag_dict):
         if m and tag_dict.has_key (m.group (1)):
             tag = m.group (1)
 
-            indices = tuple (map (string.atoi, string.split (m.group (2), ',')))
+            indices = tuple ([int (s) for s in m.group (2).split (',')])
             content = l[m.end (2)+1:]
 
 
@@ -1167,7 +1140,7 @@ class Etf_file:
             
         if staffs:
             str += '\\version "2.3.25"\n'
-            str = str + '<<\n  %s\n>> } ' % string.join (staffs)
+            str = str + '<<\n  %s\n>> } ' % ' '.join (staffs)
             
         return str
 
@@ -1203,21 +1176,29 @@ Copyright (c) %s by
 
 
 def get_option_parser ():
-    p = ly.get_option_parser (usage='etf2ly [OPTIONS]... ETF-FILE',
-                 version="etf2ly (LilyPond) @TOPLEVEL_VERSION@",
-                 description=_("""Enigma Transport Format is a format used by Coda Music Technology's
-Finale product. This program will convert a subset of ETF to a
-ready-to-use lilypond file."""))
-    p.add_option ('-o', '--output', help=_("write output to FILE"),
+    p = ly.get_option_parser (usage=_ ("%s [OPTION]... ETF-FILE") % 'etf2ly',
+                 description=_ ("""Enigma Transport Format is a format used by Coda Music Technology's
+Finale product.  etf2ly converts a subset of ETF to a ready-to-use LilyPond file.
+"""),
+                 add_help_option=False)
+    p.add_option("-h", "--help",
+                 action="help",
+                 help=_ ("show this help and exit"))
+    p.version = "etf2ly (LilyPond) @TOPLEVEL_VERSION@"
+    p.add_option("--version",
+                 action="version",
+                 help=_ ("show version number and exit"))
+    p.add_option ('-o', '--output', help=_ ("write output to FILE"),
            metavar=_("FILE"),
            action='store')
-    p.add_option ('-w', '--warranty', help=_ ("show warranty"),
+    p.add_option ('-w', '--warranty', help=_ ("show warranty and copyright"),
            action='store_true',
            ),
 
-    p.add_option_group  ('bugs',
-              description='''Report bugs via http://post.gmane.org/post.php'''
-              '''?group=gmane.comp.gnu.lilypond.bugs\n''')
+    p.add_option_group ('',
+                        description=(_ ('Report bugs via')
+                                     + ''' http://post.gmane.org/post.php'''
+                                     '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
     return p
 
 def do_options ():
@@ -1252,8 +1233,6 @@ for f in files:
     sys.stderr.write ('Writing `%s\'' % out_filename)
     ly = e.dump()
 
-    
-    
     fo = open (out_filename, 'w')
     fo.write ('%% lily was here -- automatically converted by etf2ly from %s\n' % f)
     fo.write(ly)