~pythonregexp2.7/python/issue2636-22

« back to all changes in this revision

Viewing changes to Lib/lib2to3/fixes/fix_imports.py

  • Committer: Jeffrey C. "The TimeHorse" Jacobs
  • Date: 2008-06-09 14:36:32 UTC
  • mfrom: (39021.1.402 Regexp-2.6)
  • Revision ID: darklord@timehorse.com-20080609143632-wwwkx92u1t5l7yd3
Merged in changes from the latest python source snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
builtin_names = [name for name in dir(__builtin__)
15
15
                 if name not in ("__name__", "__doc__")]
16
16
 
 
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),
20
 
          }
 
23
           'copy_reg': ('copyreg', ['pickle',
 
24
                                    'constructor',
 
25
                                    'add_extension',
 
26
                                    'remove_extension',
 
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',
 
55
                             'askdirectory']),
 
56
           'SimpleDialog': ('tkinter.simpledialog', ['SimpleDialog']),
 
57
           'tkSimpleDialog': ('tkinter.simpledialog',
 
58
                              ['Dialog', 'askinteger', 'askfloat',
 
59
                               'askstring']),
 
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']),
 
153
}
21
154
 
22
155
 
23
156
def alternates(members):
34
167
                              | dotted_as_names< any* module=%r any* >) >
35
168
              """ % (old_module, old_module)
36
169
        yield """import_from< 'from' module_name=%r 'import'
37
 
                   ( %s | import_as_name< %s 'as' any >) >
 
170
                   ( %s | import_as_name< %s 'as' any > |
 
171
                     import_as_names< any* >) >
38
172
              """ % (old_module, members, members)
39
173
        yield """import_from< 'from' module_name=%r 'import' star='*' >
40
174
              """ % old_module