else:
sys.exit (i)
-def identify ():
- ly.encoded_write (sys.stdout, '%s (GNU LilyPond) %s\n' % (ly.program_name, ly.program_version))
-
progress = ly.progress
warning = ly.warning
error = ly.error
+def identify ():
+ progress('%s (GNU LilyPond) %s' % (ly.program_name, ly.program_version))
def warranty ():
identify ()
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)
###
progress (_ ("Removing `%s'") % output_filename)
raise BookSnippet.CompileError
+def inverse_relpath (path, relpath):
+ """Given two paths, the second relative to the first,
+ return the first path relative to the second."""
+ if os.path.isabs (relpath):
+ return os.path.abspath (path)
+ relparts = []
+ parts = os.path.normpath (path).split (os.path.sep)
+ for part in os.path.normpath (relpath).split (os.path.sep):
+ if part == '..':
+ relparts.append (parts[-1])
+ parts.pop ()
+ else:
+ relparts.append ('..')
+ parts.append (part)
+ return os.path.sep.join (relparts[::-1])
+
def do_options ():
global global_options
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