14
14
builtin_names = [name for name in dir(__builtin__)
15
15
if name not in ("__name__", "__doc__")]
17
# XXX(alexandre): It would be possible to get the modules exports by fetching
18
# XXX: their __all__ attribute. However, I fear that this would add an additional
19
# XXX: overhead to the fixer.
17
20
MAPPING = {"StringIO": ("io", ["StringIO"]),
18
21
"cStringIO": ("io", ["StringIO"]),
19
22
"__builtin__" : ("builtins", builtin_names),
23
'copy_reg': ('copyreg', ['pickle',
27
'clear_extension_cache']),
28
'Queue': ('queue', ['Empty', 'Full', 'Queue',
29
'PriorityQueue', 'LifoQueue']),
30
'SocketServer': ('socketserver',
31
['TCPServer', 'UDPServer', 'BaseServer',
32
'ForkingUDPServer', 'ForkingTCPServer',
33
'ThreadingUDPServer', 'ThreadingTCPServer',
34
'BaseRequestHandler', 'StreamRequestHandler',
35
'DatagramRequestHandler', 'ThreadingMixIn',
36
'ForkingMixIn', 'UnixStreamServer',
37
'UnixDatagramServer', 'ThreadingUnixStreamServer',
38
'ThreadingUnixDatagramServer']),
39
'ConfigParser': ('configparser',
40
['NoSectionError', 'DuplicateSectionError',
41
'NoOptionError', 'InterpolationError',
42
'InterpolationDepthError',
43
'InterpolationSyntaxError',
44
'ParsingError', 'MissingSectionHeaderError',
45
'ConfigParser', 'SafeConfigParser',
46
'RawConfigParser', 'DEFAULTSECT',
47
'MAX_INTERPOLATION_DEPTH']),
48
'repr': ('reprlib', ['Repr', 'repr']),
49
'FileDialog': ('tkinter.filedialog',
50
['FileDialog', 'LoadFileDialog', 'SaveFileDialog']),
51
'tkFileDialog': ('tkinter.filedialog',
52
['Open', 'SaveAs', 'Directory', 'askopenfilename',
53
'asksaveasfilename', 'askopenfilenames',
54
'askopenfile', 'askopenfiles', 'asksaveasfile',
56
'SimpleDialog': ('tkinter.simpledialog', ['SimpleDialog']),
57
'tkSimpleDialog': ('tkinter.simpledialog',
58
['Dialog', 'askinteger', 'askfloat',
60
'tkColorChooser': ('tkinter.colorchooser', ['Chooser', 'askcolor']),
61
'tkCommonDialog': ('tkinter.commondialog', ['Dialog']),
62
'Dialog': ('tkinter.dialog', ['Dialog']),
63
'Tkdnd': ('tkinter.dnd', ['DndHandler']),
64
'tkFont': ('tkinter.font',
65
['nametofont', 'Font', 'families', 'names']),
66
'tkMessageBox': ('tkinter.messagebox',
67
['Message', 'showinfo', 'showwarning', 'showerror',
68
'askquestion', 'askokcancel', 'askyesno',
69
'askyesnocancel', 'askretrycancel']),
70
'ScrolledText': ('tkinter.scrolledtext', ['ScrolledText']),
71
'turtle': ('tkinter.turtle',
72
['RawPen', 'Pen', 'Turtle', 'degrees', 'radian', 'reset',
73
'clear', 'tracer', 'forward', 'backward', 'left',
74
'right', 'up', 'down', 'width', 'color', 'write', 'fill',
75
'begin_fill', 'end_fill', 'circle', 'goto', 'heading',
76
'setheading', 'position', 'window_width', 'setx', 'sety',
77
'towards', 'done', 'delay', 'speed', 'setup', 'title']),
78
'Tkconstants': ('tkinter.constants',
79
['NO', 'FALSE', 'OFF', 'YES', 'TRUE', 'ON', 'N', 'S',
80
'W', 'E', 'NW', 'SW', 'SE', 'NE', 'NS', 'EW',
81
'NSEW', 'CENTER', 'NONE', 'X', 'Y', 'BOTH', 'LEFT',
82
'TOP', 'RIGHT', 'BOTTOM', 'RAISED', 'SUNKEN',
83
'FLAT', 'RIDGE', 'GROOVE', 'SOLID', 'HORIZONTAL',
84
'VERTICAL', 'NUMERIC', 'CHAR', 'WORD', 'BASELINE',
85
'INSIDE', 'OUTSIDE', 'SEL', 'SEL_FIRST', 'SEL_LAST',
86
'END', 'INSERT', 'CURRENT', 'ANCHOR', 'ALL',
87
'NORMAL', 'DISABLED', 'ACTIVE', 'HIDDEN', 'CASCADE',
88
'CHECKBUTTON', 'COMMAND', 'RADIOBUTTON',
89
'SEPARATOR', 'SINGLE', 'BROWSE', 'MULTIPLE',
90
'EXTENDED', 'DOTBOX', 'UNDERLINE', 'PIESLICE',
91
'CHORD', 'ARC', 'FIRST', 'LAST', 'BUTT',
92
'PROJECTING', 'ROUND', 'BEVEL', 'MITTER', 'MOVETO',
93
'SCROLL', 'UNITS', 'PAGES']),
94
'Tix': ('tkinter.tix',
95
['tixCommand', 'Tk', 'Form', 'TixWidget', 'TixSubWidget',
96
'DisplayStyle', 'Balloon', 'ButtonBox', 'ComboBox',
97
'Control', 'DirList', 'DirTree', 'DirSelectBox',
98
'ExFileSelectBox', 'DirSelectDialog', 'ExFileSelectDialog',
99
'FileSelectBox', 'FileSelectDialog', 'FileEntry', 'HList',
100
'InputOnly', 'LabelEntry', 'LabelFrame', 'ListNoteBook',
101
'Meter', 'NoteBook', 'OptionMenu', 'PanedWindow',
102
'PopupMenu', 'ResizeHandle', 'ScrolledHList',
103
'ScrolledListBox', 'ScrolledText', 'ScrolledTList',
104
'ScrolledWindow', 'Select', 'Shell', 'DialogShell',
105
'StdButtonBox', 'TList', 'Tree', 'CheckList', 'OptionName',
106
'FileTypeList', 'Grid', 'ScrolledGrid']),
107
'Tkinter': ('tkinter',
108
['_flatten', 'TclError', 'TkVersion', 'TclVersion',
109
'Variable', 'StringVar', 'IntVar', 'DoubleVar',
110
'BooleanVar','mainloop', 'Tk', 'Tcl', 'Toplevel',
111
'Button', 'Canvas', 'Checkbutton', 'Entry', 'Frame',
112
'Label', 'Listbox', 'Menu', 'Menubutton',
113
'Radiobutton', 'Scale', 'Scrollbar', 'Text',
114
'OptionMenu', 'Image', 'PhotoImage', 'BitmapImage',
115
'image_names', 'image_types', 'Spinbox', 'LabelFrame',
116
'PanedWindow', 'Studbutton', 'Tributton']),
117
'markupbase': ('_markupbase', ['ParserBase']),
118
'_winreg': ('winreg', [
119
'CloseKey', 'ConnectRegistry', 'CreateKey', 'DeleteKey',
120
'DeleteValue', 'DisableReflectionKey', 'EnableReflectionKey',
121
'EnumKey', 'EnumValue', 'ExpandEnvironmentStrings', 'FlushKey',
122
'LoadKey', 'OpenKey', 'OpenKeyEx', 'QueryValue', 'QueryValueEx',
123
'QueryInfoKey', 'QueryReflectionKey', 'SaveKey', 'SetValue',
124
'SetValueEx', 'HKEY_CLASSES_ROOT', 'HKEY_CURRENT_USER',
125
'HKEY_LOCAL_MACHINE', 'HKEY_USERS', 'HKEY_PERFORMANCE_DATA',
126
'HKEY_CURRENT_CONFIG', 'HKEY_DYN_DATA', 'KEY_QUERY_VALUE',
127
'KEY_SET_VALUE', 'KEY_CREATE_SUB_KEY', 'KEY_ENUMERATE_SUB_KEYS',
128
'KEY_NOTIFY', 'KEY_CREATE_LINK', 'KEY_READ', 'KEY_WRITE',
129
'KEY_EXECUTE', 'KEY_ALL_ACCESS', 'KEY_WOW64_64KEY',
130
'KEY_WOW64_32KEY', 'REG_OPTION_RESERVED',
131
'REG_OPTION_NON_VOLATILE', 'REG_OPTION_VOLATILE',
132
'REG_OPTION_CREATE_LINK', 'REG_OPTION_BACKUP_RESTORE',
133
'REG_OPTION_OPEN_LINK', 'REG_LEGAL_OPTION',
134
'REG_CREATED_NEW_KEY', 'REG_OPENED_EXISTING_KEY',
135
'REG_WHOLE_HIVE_VOLATILE', 'REG_REFRESH_HIVE',
136
'REG_NO_LAZY_FLUSH', 'REG_NOTIFY_CHANGE_NAME',
137
'REG_NOTIFY_CHANGE_ATTRIBUTES', 'REG_NOTIFY_CHANGE_LAST_SET',
138
'REG_NOTIFY_CHANGE_SECURITY', 'REG_LEGAL_CHANGE_FILTER',
139
'REG_NONE', 'REG_SZ', 'REG_EXPAND_SZ', 'REG_BINARY', 'REG_DWORD',
140
'REG_DWORD_LITTLE_ENDIAN', 'REG_DWORD_BIG_ENDIAN', 'REG_LINK',
141
'REG_MULTI_SZ', 'REG_RESOURCE_LIST',
142
'REG_FULL_RESOURCE_DESCRIPTOR', 'REG_RESOURCE_REQUIREMENTS_LIST']),
143
'thread': ('_thread',
144
['LockType', '_local', 'allocate', 'allocate_lock',
145
'error', 'exit', 'exit_thread', 'get_ident',
146
'interrupt_main', 'stack_size', 'start_new',
147
'start_new_thread']),
148
'dummy_thread': ('_dummy_thread',
149
['LockType', '_local', 'allocate', 'allocate_lock',
150
'error', 'exit', 'exit_thread', 'get_ident',
151
'interrupt_main', 'stack_size', 'start_new',
152
'start_new_thread']),
23
156
def alternates(members):