mirror of
https://github.com/python/cpython.git
synced 2025-09-20 07:31:10 +00:00

svn+ssh://pythondev@svn.python.org/python/trunk ........ r60990 | eric.smith | 2008-02-23 17:05:26 +0100 (Sat, 23 Feb 2008) | 1 line Removed duplicate Py_CHARMASK define. It's already defined in Python.h. ........ r60991 | andrew.kuchling | 2008-02-23 17:23:05 +0100 (Sat, 23 Feb 2008) | 4 lines #1330538: Improve comparison of xmlrpclib.DateTime and datetime instances. Remove automatic handling of datetime.date and datetime.time. This breaks backward compatibility, but python-dev discussion was strongly against this automatic conversion; see the bug for a link. ........ r60994 | andrew.kuchling | 2008-02-23 17:39:43 +0100 (Sat, 23 Feb 2008) | 1 line #835521: Add index entries for various pickle-protocol methods and attributes ........ r60995 | andrew.kuchling | 2008-02-23 18:10:46 +0100 (Sat, 23 Feb 2008) | 2 lines #1433694: minidom's .normalize() failed to set .nextSibling for last element. Fix by Malte Helmert ........ r61000 | christian.heimes | 2008-02-23 18:40:11 +0100 (Sat, 23 Feb 2008) | 1 line Patch #2167 from calvin: Remove unused imports ........ r61001 | christian.heimes | 2008-02-23 18:42:31 +0100 (Sat, 23 Feb 2008) | 1 line Patch #1957: syslogmodule: Release GIL when calling syslog(3) ........ r61002 | christian.heimes | 2008-02-23 18:52:07 +0100 (Sat, 23 Feb 2008) | 2 lines Issue #2051 and patch from Alexander Belopolsky: Permission for pyc and pyo files are inherited from the py file. ........
79 lines
2.5 KiB
Python
79 lines
2.5 KiB
Python
# Scan <Drag.h>, generating draggen.py.
|
|
import sys
|
|
from bgenlocations import TOOLBOXDIR, BGENDIR, INCLUDEDIR
|
|
sys.path.append(BGENDIR)
|
|
|
|
from scantools import Scanner
|
|
|
|
MISSING_DEFINES="""
|
|
kDragHasLeftSenderWindow = (1 << 0)
|
|
kDragInsideSenderApplication = (1 << 1)
|
|
kDragInsideSenderWindow = (1 << 2)
|
|
kDragRegionAndImage = (1 << 4)
|
|
flavorSenderOnly = (1 << 0)
|
|
flavorSenderTranslated = (1 << 1)
|
|
flavorNotSaved = (1 << 2)
|
|
flavorSystemTranslated = (1 << 8)
|
|
"""
|
|
|
|
|
|
def main():
|
|
input = INCLUDEDIR + "Drag.h"
|
|
output = "draggen.py"
|
|
defsoutput = TOOLBOXDIR + "Dragconst.py"
|
|
scanner = MyScanner(input, output, defsoutput)
|
|
scanner.scan()
|
|
scanner.close()
|
|
print("=== Testing definitions output code ===")
|
|
exec(open(defsoutput).read(), {}, {})
|
|
print("=== Done scanning and generating, now doing 'import dragsupport' ===")
|
|
import dragsupport
|
|
print("=== Done. It's up to you to compile Dragmodule.c ===")
|
|
|
|
class MyScanner(Scanner):
|
|
|
|
def destination(self, type, name, arglist):
|
|
classname = "Function"
|
|
listname = "functions"
|
|
if arglist:
|
|
t, n, m = arglist[0]
|
|
if t in ('DragReference', 'DragRef') and m == "InMode":
|
|
classname = "Method"
|
|
listname = "methods"
|
|
return classname, listname
|
|
|
|
def writeinitialdefs(self):
|
|
self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
|
|
self.defsfile.write("from Carbon.TextEdit import *\n")
|
|
self.defsfile.write("from Carbon.QuickDraw import *\n")
|
|
self.defsfile.write("fkDragActionAll = -1\n")
|
|
self.defsfile.write("\n")
|
|
# Defines unparseable in Drag.h
|
|
self.defsfile.write(MISSING_DEFINES)
|
|
|
|
def makeblacklistnames(self):
|
|
return [
|
|
"kDragActionAll",
|
|
]
|
|
|
|
def makeblacklisttypes(self):
|
|
return [
|
|
"DragTrackingHandlerUPP",
|
|
"DragReceiveHandlerUPP",
|
|
"DragSendDataUPP",
|
|
"DragInputUPP",
|
|
"DragDrawingUPP",
|
|
]
|
|
|
|
def makerepairinstructions(self):
|
|
return [
|
|
([("void_ptr", "*", "InMode"), ("Size", "*", "InMode")],
|
|
[("OptionalInBuffer", "*", "*")]),
|
|
|
|
([("void", "*", "OutMode"), ("Size", "*", "OutMode")],
|
|
[("VarOutBuffer", "*", "InOutMode")]),
|
|
|
|
]
|
|
|
|
if __name__ == "__main__":
|
|
main()
|