~ubuntu-branches/ubuntu/utopic/hedgewars/utopic

« back to all changes in this revision

Viewing changes to misc/libfreetype/src/tools/docmaker/docmaker.py

  • Committer: Package Import Robot
  • Author(s): Gianfranco Costamagna
  • Date: 2014-01-02 12:37:23 UTC
  • mfrom: (19.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20140102123723-6pdhmyj8tb5y8xbg
Tags: 0.9.20.3-1
New upstream minor release, suitable for unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
#
3
 
#  DocMaker (c) 2002, 2004, 2008 David Turner <david@freetype.org>
4
 
#
5
 
# This program is a re-write of the original DocMaker took used
6
 
# to generate the API Reference of the FreeType font engine
7
 
# by converting in-source comments into structured HTML.
8
 
#
9
 
# This new version is capable of outputting XML data, as well
10
 
# as accepts more liberal formatting options.
11
 
#
12
 
# It also uses regular expression matching and substitution
13
 
# to speed things significantly.
14
 
#
15
 
 
16
 
from sources   import *
17
 
from content   import *
18
 
from utils     import *
19
 
from formatter import *
20
 
from tohtml    import *
21
 
 
22
 
import utils
23
 
 
24
 
import sys, os, time, string, glob, getopt
25
 
 
26
 
 
27
 
def  usage():
28
 
    print "\nDocMaker Usage information\n"
29
 
    print "  docmaker [options] file1 [file2 ...]\n"
30
 
    print "using the following options:\n"
31
 
    print "  -h : print this page"
32
 
    print "  -t : set project title, as in '-t \"My Project\"'"
33
 
    print "  -o : set output directory, as in '-o mydir'"
34
 
    print "  -p : set documentation prefix, as in '-p ft2'"
35
 
    print ""
36
 
    print "  --title  : same as -t, as in '--title=\"My Project\"'"
37
 
    print "  --output : same as -o, as in '--output=mydir'"
38
 
    print "  --prefix : same as -p, as in '--prefix=ft2'"
39
 
 
40
 
 
41
 
def  main( argv ):
42
 
    """main program loop"""
43
 
 
44
 
    global output_dir
45
 
 
46
 
    try:
47
 
        opts, args = getopt.getopt( sys.argv[1:], \
48
 
                                    "ht:o:p:",    \
49
 
                                    ["help", "title=", "output=", "prefix="] )
50
 
    except getopt.GetoptError:
51
 
        usage()
52
 
        sys.exit( 2 )
53
 
 
54
 
    if args == []:
55
 
        usage()
56
 
        sys.exit( 1 )
57
 
 
58
 
    # process options
59
 
    #
60
 
    project_title  = "Project"
61
 
    project_prefix = None
62
 
    output_dir     = None
63
 
 
64
 
    for opt in opts:
65
 
        if opt[0] in ( "-h", "--help" ):
66
 
            usage()
67
 
            sys.exit( 0 )
68
 
 
69
 
        if opt[0] in ( "-t", "--title" ):
70
 
            project_title = opt[1]
71
 
 
72
 
        if opt[0] in ( "-o", "--output" ):
73
 
            utils.output_dir = opt[1]
74
 
 
75
 
        if opt[0] in ( "-p", "--prefix" ):
76
 
            project_prefix = opt[1]
77
 
 
78
 
    check_output()
79
 
 
80
 
    # create context and processor
81
 
    source_processor  = SourceProcessor()
82
 
    content_processor = ContentProcessor()
83
 
 
84
 
    # retrieve the list of files to process
85
 
    file_list = make_file_list( args )
86
 
    for filename in file_list:
87
 
        source_processor.parse_file( filename )
88
 
        content_processor.parse_sources( source_processor )
89
 
 
90
 
    # process sections
91
 
    content_processor.finish()
92
 
 
93
 
    formatter = HtmlFormatter( content_processor, project_title, project_prefix )
94
 
 
95
 
    formatter.toc_dump()
96
 
    formatter.index_dump()
97
 
    formatter.section_dump_all()
98
 
 
99
 
 
100
 
# if called from the command line
101
 
#
102
 
if __name__ == '__main__':
103
 
    main( sys.argv )
104
 
 
105
 
 
106
 
# eof