]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/convert-ly.py
Run `make grand-replace'.
[lilypond.git] / scripts / convert-ly.py
index 32345fc5ba503f16f784e10e9cb308e1fce00c8a..481ae745a340889c2acdf396c076c956239d83fa 100644 (file)
@@ -4,7 +4,7 @@
 #
 # source file of the GNU LilyPond music typesetter
 #
-# (c) 1998--2007  Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2008  Han-Wen Nienhuys <hanwen@xs4all.nl>
 #                 Jan Nieuwenhuizen <janneke@gnu.org>
 #
 # converting rules are found in python/convertrules.py
@@ -21,6 +21,8 @@ import re
 import lilylib as ly
 global _;_=ly._
 
+ly.require_python_version ()
+
 import convertrules
 
 lilypond_version_re_str = '\\\\version *\"([0-9.]+)"'
@@ -32,8 +34,8 @@ _ ('''Update LilyPond input to newer version.  By default, update from the
 version taken from the \\version command, to the current LilyPond version.''')
 + _ ("Examples:")
 + '''
-  convert-ly -e old.ly
-  convert-ly --from=2.3.28 --to 2.5.21 foobar.ly
+  convert-ly -e old.ly
+  $ convert-ly --from=2.3.28 --to=2.5.21 foobar.ly > foobar-new.ly
 ''')
 
 copyright = ('Jan Nieuwenhuizen <janneke@gnu.org>',
@@ -105,7 +107,7 @@ def get_option_parser ():
               default=False)
     
     p.add_option ("-s", '--show-rules',
-              help=_ ("show rules [default: --from=0, --to=%s]") % program_version,
+              help=_ ("show rules [default: -f 0, -t %s]") % program_version,
               dest='show_rules',
               action='store_true', default=False)
     
@@ -116,7 +118,7 @@ def get_option_parser ():
               dest="to_version",
               default='')
 
-    p.add_option_group (ly.display_encode (_ ('Bugs')),
+    p.add_option_group ('',
                         description=(_ ("Report bugs via")
                                      + ''' http://post.gmane.org/post.php'''
                                      '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
@@ -126,7 +128,7 @@ def get_option_parser ():
 
 
 def str_to_tuple (s):
-    return tuple ([int n for n in s.split ('.')])
+    return tuple ([int(n) for n in s.split ('.')])
 
 def tup_to_str (t):
     return '.'.join (['%s' % x for x in t])
@@ -143,8 +145,6 @@ def get_conversions (from_version, to_version):
     return filter (is_applicable, convertrules.conversions)
 
 def latest_version ():
-    if global_options.force_current_version:
-        return str_to_tuple (program_version)
     return convertrules.conversions[-1][0]
 
 def show_rules (file, from_version, to_version):
@@ -174,7 +174,7 @@ string."""
         error_file_write ('\n'
                           + _ ("Error while converting")
                           + '\n'
-                          + _ ("Stopping at last succesful rule")
+                          + _ ("Stopping at last successful rule")
                           + '\n')
 
     return (last_conversion, str)
@@ -222,9 +222,11 @@ def do_one_file (infile_name):
 
 
     (last, result) = do_conversion (input, from_version, to_version)
-    infile.close ()
 
     if last:
+        if global_options.force_current_version and last == to_version:
+            last = str_to_tuple (program_version)
+
         newversion = r'\version "%s"' % tup_to_str (last)
         if lilypond_version_re.search (result):
             result = re.sub (lilypond_version_re_str,