X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=buildscripts%2Ftexi2omf.py;h=cc2603f5e03e172b7fb9d130636ea12d461d318d;hb=03302c2f0fec2ccf1484b1ab316f90d4c17b786d;hp=f87fea162370d05ff527edaf18c91f9088573adf;hpb=2ebdeb08eed908a595ab9b29a323dad10c57e39b;p=lilypond.git diff --git a/buildscripts/texi2omf.py b/buildscripts/texi2omf.py index f87fea1623..cc2603f5e0 100644 --- a/buildscripts/texi2omf.py +++ b/buildscripts/texi2omf.py @@ -1,17 +1,19 @@ -import time -import re -import sys +#!@PYTHON@ + import getopt import os +import re +import sys +import time def usage (): - sys.stderr.write (''' -texi2omf [options] texifile + sys.stderr.write (''' +texi2omf [options] FILE.texi > FILE.omf Options: ---format=FORM format is FORM. Supported: HTML, PS, PDF ---location=FILE path to file on disk. +--format=FORM set format FORM (HTML, PS, PDF, [XML]). +--location=FILE file name as installed on disk. --version=VERSION Use the following commands (enclose in @ignore) @@ -24,123 +26,127 @@ etc. ''') - + (options, files) = getopt.getopt (sys.argv[1:], '', - ['format=', 'location=', 'version=']) + ['format=', 'location=', 'version=']) license = 'FDL' location = '' version = '' email = os.getenv ('MAILADDRESS') name = os.getenv ('USERNAME') - -for (o,a) in options: - if o == '--format': - format = a - elif o == '--location': - location = 'file:%s' % a - elif o == '--version': - version = a - else: - assert 0 - - +format = 'xml' + +for (o, a) in options: + if o == '--format': + format = a + elif o == '--location': + location = 'file:%s' % a + elif o == '--version': + version = a + else: + assert 0 + + if not files: - usage() - sys.exit (2) + usage () + sys.exit (2) formats = { - 'html' : 'text/html', - 'pdf' : 'application/pdf', - 'ps.gz' : 'application/postscript', - 'ps' : 'application/postscript', - } + 'html' : 'text/html', + 'pdf' : 'application/pdf', + 'ps.gz' : 'application/postscript', + 'ps' : 'application/postscript', + 'xml' : 'text/xml', + } if not formats.has_key (format): - sys.stderr.write ("Format `%s' unknown\n" % format) - sys.exit (1) + sys.stderr.write ("Format `%s' unknown\n" % format) + sys.exit (1) -infile =files[0] +infile = files[0] -today = time.localtime() +today = time.localtime () -texi = open (infile).read() +texi = open (infile).read () if not location: - location = 'file:%s' % re.sub (r'\.*', '.html', infile) - + location = 'file:/%s' % re.sub (r'\..*', '.' + format, infile) omf_vars = { - 'date': '%d-%d-%d' % today[:3], - 'mimeformat': formats[format], - 'maintainer': "%s (%s)" % (name, email), - 'version' : version, - 'location' : location, - } - -for a in ['subject','creator', 'title', 'subtitle', 'version', 'category', 'type', - 'description', 'license']: - - m = re.search ('@omf%s (.*)\n'% a, texi) - if m: - omf_vars[a] = m.group (1) - elif not omf_vars.has_key (a): - omf_vars[a] = '' - + 'date': '%d-%d-%d' % today[:3], + 'mimeformat': formats[format], + 'maintainer': "%s (%s)" % (name, email), + 'version' : version, + 'location' : location, + 'language' : 'C', + } + +omf_caterories = ['subject', 'creator', 'maintainer', 'contributor', + 'title', 'subtitle', 'version', 'category', 'type', + 'description', 'license', 'language',] + +for a in omf_caterories: + m = re.search ('@omf%s (.*)\n'% a, texi) + if m: + omf_vars[a] = m.group (1) + elif not omf_vars.has_key (a): + omf_vars[a] = '' + if not omf_vars['title']: - title = '' - m = re.search ('@title (.*)\n', texi) - if m: - title = m.group (1) + title = '' + m = re.search ('@title (.*)\n', texi) + if m: + title = m.group (1) - subtitle = '' - m = re.search ('@subtitle (.*)\n', texi) - if m: - subtitle = m.group (1) + subtitle = '' + m = re.search ('@subtitle (.*)\n', texi) + if m: + subtitle = m.group (1) - if subtitle: - title = '%s -- %s' % (title, subtitle) + if subtitle: + title = '%s -- %s' % (title, subtitle) - omf_vars['title'] = title - + omf_vars['title'] = title + if not omf_vars['creator']: - m = re.search ('@author (.*)\n', texi) - if m: - omf_vars['creator'] = m.group (1) + m = re.search ('@author (.*)\n', texi) + if m: + omf_vars['creator'] = m.group (1) print r''' - - - %(creator)s - - - %(maintainer)s - - - %(title)s - - - %(date)s - - - - - %(description)s - - - %(type)s - - - - - - + + + %(creator)s + + + %(maintainer)s + + + %(title)s + + + %(date)s + + + + + %(description)s + + + %(type)s + + + + + + ''' % omf_vars