annotate Tools/scripts/gencodec.py @ 24042:63fbbed10714 legacy-trunk

Simplify HTTPSConnection constructor. See discussion in SF bug 458463.
author Jeremy Hylton <jeremy@alum.mit.edu>
date Fri, 28 Jun 2002 23:38:14 +0000
parents 3e256f9d99ad
children 8a7a2f1f88f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 """ Unicode Mapping Parser and Codec Generator.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 This script parses Unicode mapping files as available from the Unicode
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
4 site (ftp://ftp.unicode.org/Public/MAPPINGS/) and creates Python codec
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
5 modules from them. The codecs use the standard character mapping codec
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
6 to actually apply the mapping.
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 Synopsis: gencodec.py dir codec_prefix
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 All files in dir are scanned and those producing non-empty mappings
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 will be written to <codec_prefix><mapname>.py with <mapname> being the
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 first part of the map's filename ('a' in a.b.c.txt) converted to
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 lowercase with hyphens replaced by underscores.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
12014
ba80c9064491 Of course, I forget how to type long ago...
Fred Drake <fdrake@acm.org>
parents: 12012
diff changeset
15 The tool also writes marshalled versions of the mapping tables to the
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 same location (with .mapping extension).
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 Written by Marc-Andre Lemburg (mal@lemburg.com).
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
19
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
21 (c) Copyright Guido van Rossum, 2000.
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 """#"
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
24
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 import string,re,os,time,marshal
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
26
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 # Create numeric tables or character based ones ?
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 numeric = 1
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
29
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 mapRE = re.compile('((?:0x[0-9a-fA-F]+\+?)+)'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 '\s+'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 '((?:(?:0x[0-9a-fA-Z]+|<[A-Za-z]+>)\+?)*)'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 '\s*'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 '(#.+)?')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
35
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 def parsecodes(codes,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
37
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 split=string.split,atoi=string.atoi,len=len,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 filter=filter,range=range):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
40
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 """ Converts code combinations to either a single code integer
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 or a tuple of integers.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
43
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 meta-codes (in angular brackets, e.g. <LR> and <RL>) are
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 ignored.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
46
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 Empty codes or illegal ones are returned as None.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
48
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 """
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 if not codes:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 return None
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 l = split(codes,'+')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 if len(l) == 1:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 return atoi(l[0],16)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 for i in range(len(l)):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 l[i] = atoi(l[i],16)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 except ValueError:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 l[i] = None
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 l = filter(lambda x: x is not None, l)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 if len(l) == 1:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 return l[0]
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 return tuple(l)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
65
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 def readmap(filename,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
67
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 strip=string.strip):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
69
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 f = open(filename,'r')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 lines = f.readlines()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 f.close()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 enc2uni = {}
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
74 identity = []
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
75 unmapped = range(256)
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
76 for i in range(256):
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
77 unmapped[i] = i
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 for line in lines:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 line = strip(line)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 if not line or line[0] == '#':
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
81 continue
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 m = mapRE.match(line)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
83 if not m:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 #print '* not matched: %s' % repr(line)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
85 continue
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 enc,uni,comment = m.groups()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 enc = parsecodes(enc)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 uni = parsecodes(uni)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 if not comment:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 comment = ''
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
91 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
92 comment = comment[1:]
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
93 if enc < 256:
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
94 unmapped.remove(enc)
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
95 if enc == uni:
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
96 identity.append(enc)
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
97 else:
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
98 enc2uni[enc] = (uni,comment)
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
99 else:
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
100 enc2uni[enc] = (uni,comment)
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
101 # If there are more identity-mapped entries than unmapped entries,
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
102 # it pays to generate an identity dictionary first, add add explicit
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
103 # mappings to None for the rest
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
104 if len(identity)>=len(unmapped):
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
105 for enc in unmapped:
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
106 enc2uni[enc] = (None, "")
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
107 enc2uni['IDENTITY'] = 256
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
108
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
109 return enc2uni
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
110
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
111 def hexrepr(t,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
112
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
113 join=string.join):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
114
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
115 if t is None:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 return 'None'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
117 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
118 len(t)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 except:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
120 return '0x%04x' % t
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 return '(' + join(map(lambda t: '0x%04x' % t, t),', ') + ')'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
122
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 def unicoderepr(t,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
124
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
125 join=string.join):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
126
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
127 if t is None:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
128 return 'None'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 if numeric:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
130 return hexrepr(t)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
131 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
132 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
133 len(t)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
134 except:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 return repr(unichr(t))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 return repr(join(map(unichr, t),''))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
137
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
138 def keyrepr(t,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
139
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
140 join=string.join):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
141
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
142 if t is None:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
143 return 'None'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 if numeric:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 return hexrepr(t)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
147 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 len(t)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
149 except:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
150 if t < 256:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
151 return repr(chr(t))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
152 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
153 return repr(unichr(t))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 return repr(join(map(chr, t),''))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
155
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 def codegen(name,map,comments=1):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
157
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
158 """ Returns Python source for the given map.
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
159
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
160 Comments are included in the source, if comments is true (default).
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
161
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
162 """
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
163 l = [
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
164 '''\
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
165 """ Python Character Mapping Codec generated from '%s' with gencodec.py.
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
166
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
167 Written by Marc-Andre Lemburg (mal@lemburg.com).
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
168
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
169 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
170 (c) Copyright 2000 Guido van Rossum.
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
171
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
172 """#"
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
173
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
174 import codecs
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
175
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
176 ### Codec APIs
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
177
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
178 class Codec(codecs.Codec):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
179
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
180 def encode(self,input,errors='strict'):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
181
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
182 return codecs.charmap_encode(input,errors,encoding_map)
15930
14a27acc755a Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 15706
diff changeset
183
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
184 def decode(self,input,errors='strict'):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
185
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
186 return codecs.charmap_decode(input,errors,decoding_map)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
187
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
188 class StreamWriter(Codec,codecs.StreamWriter):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
189 pass
15930
14a27acc755a Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 15706
diff changeset
190
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
191 class StreamReader(Codec,codecs.StreamReader):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
192 pass
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
193
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
194 ### encodings module API
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
195
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
196 def getregentry():
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
197
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
198 return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
199
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
200 ### Decoding Map
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
201 ''' % name,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
202 ]
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
203
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
204 if map.has_key("IDENTITY"):
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
205 l.append("decoding_map = codecs.make_identity_dict(range(%d))"
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
206 % map["IDENTITY"])
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
207 l.append("decoding_map.update({")
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
208 splits = 1
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
209 del map["IDENTITY"]
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
210 else:
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
211 l.append("decoding_map = {")
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
212 splits = 0
15930
14a27acc755a Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 15706
diff changeset
213
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
214 mappings = map.items()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
215 mappings.sort()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
216 append = l.append
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
217 i = 0
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
218 for e,value in mappings:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
219 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
220 (u,c) = value
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
221 except TypeError:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
222 u = value
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
223 c = ''
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
224 key = keyrepr(e)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
225 if c and comments:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
226 append('\t%s: %s,\t# %s' % (key,unicoderepr(u),c))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
227 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
228 append('\t%s: %s,' % (key,unicoderepr(u)))
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
229 i += 1
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
230 if i == 4096:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
231 # Split the definition into parts to that the Python
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
232 # parser doesn't dump core
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
233 if splits == 0:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
234 append('}')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
235 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
236 append('})')
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
237 append('decoding_map.update({')
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
238 i = 0
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
239 splits = splits + 1
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
240 if splits == 0:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
241 append('}')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
242 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
243 append('})')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
244 append('''
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
245 ### Encoding Map
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
246
17843
3e256f9d99ad Moved the encoding map building logic from the individual mapping
Marc-André Lemburg <mal@egenix.com>
parents: 15930
diff changeset
247 encoding_map = codecs.make_encoding_map(decoding_map)
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
248 ''')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
249 return string.join(l,'\n')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
250
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
251 def pymap(name,map,pyfile,comments=1):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
252
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
253 code = codegen(name,map,comments)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
254 f = open(pyfile,'w')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
255 f.write(code)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
256 f.close()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
257
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
258 def marshalmap(name,map,marshalfile):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
259
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
260 d = {}
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
261 for e,(u,c) in map.items():
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
262 d[e] = (u,c)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
263 f = open(marshalfile,'wb')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
264 marshal.dump(d,f)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
265 f.close()
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
266
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
267 def convertdir(dir,prefix='',comments=1):
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
268
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
269 mapnames = os.listdir(dir)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
270 for mapname in mapnames:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
271 name = os.path.split(mapname)[1]
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
272 name = string.replace(name,'-','_')
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
273 name = string.split(name, '.')[0]
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
274 name = string.lower(name)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
275 codefile = name + '.py'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
276 marshalfile = name + '.mapping'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
277 print 'converting %s to %s and %s' % (mapname,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
278 prefix + codefile,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
279 prefix + marshalfile)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
280 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
281 map = readmap(os.path.join(dir,mapname))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
282 if not map:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
283 print '* map is empty; skipping'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
284 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
285 pymap(mapname, map, prefix + codefile,comments)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
286 marshalmap(mapname, map, prefix + marshalfile)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
287 except ValueError:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
288 print '* conversion failed'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
289
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
290 def rewritepythondir(dir,prefix='',comments=1):
15930
14a27acc755a Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 15706
diff changeset
291
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
292 mapnames = os.listdir(dir)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
293 for mapname in mapnames:
15706
bf9bb0e3dd34 This patch changes the default behaviour of the builtin charmap
Marc-André Lemburg <mal@egenix.com>
parents: 12014
diff changeset
294 if not mapname.endswith('.mapping'):
11966
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
295 continue
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
296 codefile = mapname[:-len('.mapping')] + '.py'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
297 print 'converting %s to %s' % (mapname,
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
298 prefix + codefile)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
299 try:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
300 map = marshal.load(open(os.path.join(dir,mapname),
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
301 'rb'))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
302 if not map:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
303 print '* map is empty; skipping'
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
304 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
305 pymap(mapname, map, prefix + codefile,comments)
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
306 except ValueError, why:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
307 print '* conversion failed: %s' % why
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
308
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
309 if __name__ == '__main__':
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
310
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
311 import sys
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
312 if 1:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
313 apply(convertdir,tuple(sys.argv[1:]))
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
314 else:
5305f9b01fc7 Marc-Andre Lemburg: added
Guido van Rossum <guido@python.org>
parents:
diff changeset
315 apply(rewritepythondir,tuple(sys.argv[1:]))