X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Flilylib.py;h=e46141bb682e75a622a8ff814ff0e439ebd7c38e;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=ec38d70d73471defa16afdb0b2cc1a6b2b4e47b8;hpb=3c4c3e43e393168cbccd1a476b7705acfc8b266c;p=lilypond.git diff --git a/python/lilylib.py b/python/lilylib.py index ec38d70d73..e46141bb68 100644 --- a/python/lilylib.py +++ b/python/lilylib.py @@ -3,7 +3,7 @@ # # source file of the GNU LilyPond music typesetter # -# (c) 1998--2007 Han-Wen Nienhuys +# (c) 1998--2008 Han-Wen Nienhuys # Jan Nieuwenhuizen import __main__ @@ -11,7 +11,6 @@ import glob import os import re import shutil -import string import sys import optparse @@ -19,24 +18,6 @@ import optparse # Users of python modules should include this snippet # and customize variables below. -# We'll suffer this path init stuff as long as we don't install our -# python packages in /lib/pythonx.y (and don't kludge around -# it as we do with teTeX on Red Hat Linux: set some environment var -# (PYTHONPATH) in profile) - -# If set, LILYPOND_DATADIR must take prevalence -# if datadir is not set, we're doing a build and LILYPOND_DATADIR - -datadir = '@local_lilypond_datadir@' -if not os.path.isdir (datadir): - datadir = '@lilypond_datadir@' -if os.environ.has_key ('LILYPOND_DATADIR') : - datadir = os.environ['LILYPOND_DATADIR'] - while datadir[-1] == os.sep: - datadir= datadir[:-1] - -sys.path.insert (0, os.path.join (datadir, 'python')) - # Python 2.5 only accepts strings with proper Python internal encoding # (i.e. ASCII or Unicode) when writing to stdout/stderr, so we must @@ -59,11 +40,24 @@ underscore = _ def encoded_write(f, s): f.write (s.encode (f.encoding or 'utf_8')) +# ugh, Python 2.5 optparse requires Unicode strings in some argument +# functions, and refuse them in some other places +def display_encode (s): + return s.encode (sys.stderr.encoding or 'utf_8') + def stderr_write (s): encoded_write (sys.stderr, s) progress = stderr_write +def require_python_version (): + if sys.hexversion < 0x02040000: + stderr_write ("Python 2.4 or newer is required to run this program.\n\ +Please upgrade Python from http://python.org/download/, and if you use MacOS X,\n\ +please read 'Setup for MacOS X' in Application Usage.") + os.system ("open http://python.org/download/") + sys.exit (2) + # Modified version of the commands.mkarg(x), which always uses # double quotes (since Windows can't handle the single quotes: def mkarg(x): @@ -180,7 +174,7 @@ def strip_extension (f, ext): def search_exe_path (name): p = os.environ['PATH'] - exe_paths = string.split (p, ':') + exe_paths = p.split (':') for e in exe_paths: full = os.path.join (e, name) if os.path.exists (full):