1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
import sys
import __builtin__
def print_doc(out, obj, meth):
if meth == '__doc__':
doc = getattr(obj, meth)
bdname = '%s_doc' % obj.__name__
else:
doc = getattr(obj, meth).__doc__
bdname = '%s_%s_doc' % (obj.__name__, meth)
if doc is None:
doc = ""
lines = doc.split("\n")
outstring = '\\n" + \n "'.join(format(line) for line in lines)
print >> out, (' public final static String %s = ' % bdname)
print >> outfile, ' "%s";\n' % outstring
format = lambda line: line.replace('\\', '\\\\').replace('"', r'\"')
opt = lambda n: getattr(__builtin__, n, None)
def f(): pass
try:
raise Exception
except:
_, _, tb = sys.exc_info()
class C:
f = f
m = C.f
types_list = [
object,
type,
unicode,
dict,
list,
slice,
super,
staticmethod,
float,
opt('enumerate'),
#open,
opt('basestring'),
long,
tuple,
str,
property,
int,
xrange,
file,
complex,
opt('bool'),
classmethod,
set,
frozenset,
BaseException,
#buffer,
# +
type(f),
type(m),
type(f.func_code),
type(sys._getframe()),
type(tb),
]
outfile = open("BuiltinDocs.java", "w")
print >> outfile, '// generated by make_pydocs.py\n'
print >> outfile, 'package org.python.core;\n'
print >> outfile, 'public class BuiltinDocs {\n'
for obj in types_list:
print >> outfile, ' // Docs for %s' % obj
for meth in dir(obj):
print_doc(outfile, obj, meth)
print >> outfile, '}'
|