Initialize Tizen 2.3
[framework/graphics/freetype.git] / src / tools / docmaker / docbeauty.py
1 #!/usr/bin/env python
2 #
3 #  DocBeauty (c) 2003, 2004, 2008 David Turner <david@freetype.org>
4 #
5 # This program is used to beautify the documentation comments used
6 # in the FreeType 2 public headers.
7 #
8
9 from sources import *
10 from content import *
11 from utils   import *
12
13 import utils
14
15 import sys, os, time, string, getopt
16
17
18 content_processor = ContentProcessor()
19
20
21 def  beautify_block( block ):
22     if block.content:
23         content_processor.reset()
24
25         markups = content_processor.process_content( block.content )
26         text    = []
27         first   = 1
28
29         for markup in markups:
30             text.extend( markup.beautify( first ) )
31             first = 0
32
33         # now beautify the documentation "borders" themselves
34         lines = [" /*************************************************************************"]
35         for l in text:
36             lines.append( "  *" + l )
37         lines.append( "  */" )
38
39         block.lines = lines
40
41
42 def  usage():
43     print "\nDocBeauty 0.1 Usage information\n"
44     print "  docbeauty [options] file1 [file2 ...]\n"
45     print "using the following options:\n"
46     print "  -h : print this page"
47     print "  -b : backup original files with the 'orig' extension"
48     print ""
49     print "  --backup : same as -b"
50
51
52 def  main( argv ):
53     """main program loop"""
54
55     global output_dir
56
57     try:
58         opts, args = getopt.getopt( sys.argv[1:], \
59                                     "hb",         \
60                                     ["help", "backup"] )
61     except getopt.GetoptError:
62         usage()
63         sys.exit( 2 )
64
65     if args == []:
66         usage()
67         sys.exit( 1 )
68
69     # process options
70     #
71     output_dir = None
72     do_backup  = None
73
74     for opt in opts:
75         if opt[0] in ( "-h", "--help" ):
76             usage()
77             sys.exit( 0 )
78
79         if opt[0] in ( "-b", "--backup" ):
80             do_backup = 1
81
82     # create context and processor
83     source_processor = SourceProcessor()
84
85     # retrieve the list of files to process
86     file_list = make_file_list( args )
87     for filename in file_list:
88         source_processor.parse_file( filename )
89
90         for block in source_processor.blocks:
91             beautify_block( block )
92
93         new_name = filename + ".new"
94         ok       = None
95
96         try:
97             file = open( new_name, "wt" )
98             for block in source_processor.blocks:
99                 for line in block.lines:
100                     file.write( line )
101                     file.write( "\n" )
102             file.close()
103         except:
104             ok = 0
105
106
107 # if called from the command line
108 #
109 if __name__ == '__main__':
110     main( sys.argv )
111
112
113 # eof