if '@bindir@' == ('@' + 'bindir@') or not os.path.exists (lilypond_binary):
lilypond_binary = 'lilypond'
+# Need to shell-quote, issue 3468
+
+import pipes
+lilypond_binary = pipes.quote (lilypond_binary)
+
global_options = None
else:
progress (_ ("All snippets are up to date..."))
- if options.lily_output_dir != options.output_dir:
- output_files = split_output_files (options.lily_output_dir)
+ progress (_ ("Linking files..."))
+ abs_lily_output_dir = os.path.join (options.original_dir, options.lily_output_dir)
+ abs_output_dir = os.path.join (options.original_dir, options.output_dir)
+ if abs_lily_output_dir != abs_output_dir:
+ output_files = split_output_files (abs_lily_output_dir)
for snippet in snippets:
- snippet.link_all_output_files (options.lily_output_dir,
+ snippet.link_all_output_files (abs_lily_output_dir,
output_files,
- options.output_dir)
+ abs_output_dir)
###
in_handle = file (input_fullname)
if input_filename == '-':
+ global_options.input_dir = os.getcwd ()
input_base = 'stdin'
elif included:
input_base = os.path.splitext (input_filename)[0]
else:
+ global_options.input_dir = os.path.split (input_absname)[0]
input_base = os.path.basename (
os.path.splitext (input_filename)[0])
return the first path relative to the second."""
if os.path.isabs (relpath):
return os.path.abspath (path)
- relparts = ['']
+ relparts = []
parts = os.path.normpath (path).split (os.path.sep)
for part in os.path.normpath (relpath).split (os.path.sep):
if part == '..':
global_options.information = {'program_version': ly.program_version, 'program_name': ly.program_name }
global_options.original_dir = original_dir
+ if global_options.lily_output_dir:
+ global_options.lily_output_dir = os.path.expanduser (global_options.lily_output_dir)
+ global_options.include_path.insert (0, inverse_relpath (original_dir, global_options.lily_output_dir))
+
if global_options.output_dir:
global_options.output_dir = os.path.expanduser (global_options.output_dir)
global_options.include_path.insert (0, inverse_relpath (original_dir, global_options.output_dir))
+ global_options.include_path.insert (0, ".")
+
# Load the python packages (containing e.g. custom formatter classes)
# passed on the command line
nr = 0
for i in global_options.custom_packages:
nr += 1
- print imp.load_source ("book_custom_package%s" % nr, i)
+ progress (str(imp.load_source ("book_custom_package%s" % nr, i)))
if global_options.warranty: