#
# source file of the GNU LilyPond music typesetter
#
-# (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
#
# converting rules are found in python/convertrules.py
import lilylib as ly
global _;_=ly._
+ly.require_python_version ()
+
import convertrules
lilypond_version_re_str = '\\\\version *\"([0-9.]+)"'
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>',
program_name = os.path.basename (sys.argv[0])
program_version = '@TOPLEVEL_VERSION@'
+authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+
error_file_write = ly.stderr_write
def warning (s):
def warranty ():
identify ()
ly.encoded_write (sys.stdout, '''
-Copyright (c) %s by
+%s
- Han-Wen Nienhuys
- Jan Nieuwenhuizen
+%s
%s
%s
-''' ( '2001--2006',
- _ ("Distributed under terms of the GNU General Public License."),
- _ ('It comes with NO WARRANTY.')))
-
+''' % ( _ ('Copyright (c) %s by') % '2001--2009',
+ ' '.join (authors),
+ _ ('Distributed under terms of the GNU General Public License.'),
+ _ ('It comes with NO WARRANTY.')))
def get_option_parser ():
p = ly.get_option_parser (usage=_ ("%s [OPTION]... FILE") % 'convert-ly',
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)
action='store',
dest="to_version",
default='')
-
- p.add_option_group (ly.display_encode (_ ('Bugs')),
- description=(_ ("Report bugs via")
- + ''' http://post.gmane.org/post.php'''
- '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
+ p.add_option ('-w', '--warranty', help=_ ("show warranty and copyright"),
+ action='store_true',
+ ),
+ p.add_option_group ('',
+ description=(
+ _ ("Report bugs via %s")
+ % 'http://post.gmane.org/post.php'
+ '?group=gmane.comp.gnu.lilypond.bugs') + '\n')
return p
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])
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):
error_file_write ('\n'
+ _ ("Error while converting")
+ '\n'
- + _ ("Stopping at last succesful rule")
+ + _ ("Stopping at last successful rule")
+ '\n')
return (last_conversion, str)
(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,
opt_parser = get_option_parser()
(options, args) = opt_parser.parse_args ()
+ if options.warranty:
+ warranty ()
+ sys.exit (0)
if options.from_version:
options.from_version = str_to_tuple (options.from_version)