[ctypes-commit] ctypes/sandbox/tools/codegen codegenerator.py,1.14,1.15
Brought to you by:
theller
From: Thomas H. <th...@us...> - 2005-01-07 16:10:15
|
Update of /cvsroot/ctypes/ctypes/sandbox/tools/codegen In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6971 Modified Files: codegenerator.py Log Message: Accept a list of dlls to search for exported functions. Index: codegenerator.py =================================================================== RCS file: /cvsroot/ctypes/ctypes/sandbox/tools/codegen/codegenerator.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** codegenerator.py 7 Jan 2005 15:34:33 -0000 1.14 --- codegenerator.py 7 Jan 2005 16:10:05 -0000 1.15 *************** *** 162,201 **** ) - dll_names = """\ - imagehlp - user32 - kernel32 - gdi32 - advapi32 - oleaut32 - ole32 - imm32 - comdlg32 - shell32 - version - winmm - mpr - winscard - winspool.drv - urlmon - crypt32 - cryptnet - ws2_32 - opengl32 - glu32 - mswsock - msvcrt - msimg32 - netapi32 - rpcrt4""".split() - ##glut32 - - ##rpcndr - ##ntdll - ##dll_names = "libxml2".split() - - from ctypes import CDLL - searched_dlls = [CDLL(name) for name in dll_names] - class Generator(object): def __init__(self, stream, use_decorators=False): --- 162,165 ---- *************** *** 375,379 **** def find_dllname(self, name): ! for dll in searched_dlls: try: getattr(dll, name) --- 339,343 ---- def find_dllname(self, name): ! for dll in self.searched_dlls: try: getattr(dll, name) *************** *** 457,461 **** self.generate(item) ! def generate_code(self, items, known_symbols): items = set(items) if known_symbols: --- 421,425 ---- self.generate(item) ! def generate_code(self, items, known_symbols, searched_dlls): items = set(items) if known_symbols: *************** *** 463,466 **** --- 427,431 ---- else: self.known_symbols = {} + self.searched_dlls = searched_dlls loops = 0 while items: *************** *** 498,502 **** verbose=False, use_decorators=False, ! known_symbols=None): # expressions is a sequence of compiled regular expressions, # symbols is a sequence of names --- 463,468 ---- verbose=False, use_decorators=False, ! known_symbols=None, ! searched_dlls=None): # expressions is a sequence of compiled regular expressions, # symbols is a sequence of names *************** *** 536,540 **** print >> outfile, "def STDMETHOD(*args,**kw): pass # fake" print >> outfile ! loops = gen.generate_code(items, known_symbols) if verbose: gen.print_stats(sys.stderr) --- 502,508 ---- print >> outfile, "def STDMETHOD(*args,**kw): pass # fake" print >> outfile ! loops = gen.generate_code(items, ! known_symbols, ! searched_dlls) if verbose: gen.print_stats(sys.stderr) |