Commits

Benjamin Peterson committed b2efc6a

add UserString mapping (fixes #31)

Comments (0)

Files changed (3)

 Development version
 -------------------
 
+- Issue #31: Add six.moves mapping for UserString.
+
 - Pull request #12: Add six.add_metaclass, a decorator for adding a metaclass to
   a class.
 

documentation/index.rst

 
 Supported renames:
 
-+------------------------------+-------------------------------------+-----------------------------------+
-| Name                         | Python 2 name                       | Python 3 name                     |
-+==============================+=====================================+===================================+
-| ``builtins``                 | :mod:`py2:__builtin__`              | :mod:`py3:builtins`               |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``configparser``             | :mod:`py2:ConfigParser`             | :mod:`py3:configparser`           |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``copyreg``                  | :mod:`py2:copy_reg`                 | :mod:`py3:copyreg`                |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``cPickle``                  | :mod:`py2:cPickle`                  | :mod:`py3:pickle`                 |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``cStringIO``                | :func:`py2:cStringIO.StringIO`      | :class:`py3:io.StringIO`          |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``email_mime_multipart``     | :mod:`py2:email.MIMEMultipart`      | :mod:`py3:email.mime.multipart`   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``email_mime_text``          | :mod:`py2:email.MIMEText`           | :mod:`py3:email.mime.text`        |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``email_mime_base``          | :mod:`py2:email.MIMEBase`           | :mod:`py3:email.mime.base`        |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``filter``                   | :func:`py2:itertools.ifilter`       | :func:`py3:filter`                |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``filterfalse``              | :func:`py2:itertools.ifilterfalse`  | :func:`py3:itertools.filterfalse` |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``http_cookiejar``           | :mod:`py2:cookielib`                | :mod:`py3:http.cookiejar`         |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``http_cookies``             | :mod:`py2:Cookie`                   | :mod:`py3:http.cookies`           |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``html_entities``            | :mod:`py2:htmlentitydefs`           | :mod:`py3:html.entities`          |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``html_parser``              | :mod:`py2:HTMLParser`               | :mod:`py3:html.parser`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``http_client``              | :mod:`py2:httplib`                  | :mod:`py3:http.client`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``BaseHTTPServer``           | :mod:`py2:BaseHTTPServer`           | :mod:`py3:http.server`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``CGIHTTPServer``            | :mod:`py2:CGIHTTPServer`            | :mod:`py3:http.server`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``SimpleHTTPServer``         | :mod:`py2:SimpleHTTPServer`         | :mod:`py3:http.server`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``input``                    | :func:`py2:raw_input`               | :func:`py3:input`                 |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``map``                      | :func:`py2:itertools.imap`          | :func:`py3:map`                   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``queue``                    | :mod:`py2:Queue`                    | :mod:`py3:queue`                  |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``range``                    | :func:`py2:xrange`                  | :func:`py3:range`                 |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``reduce``                   | :func:`py2:reduce`                  | :func:`py3:functools.reduce`      |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``reload_module``            | :func:`py2:reload`                  | :func:`py3:imp.reload`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``reprlib``                  | :mod:`py2:repr`                     | :mod:`py3:reprlib`                |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``socketserver``             | :mod:`py2:SocketServer`             | :mod:`py3:socketserver`           |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter``                  | :mod:`py2:Tkinter`                  | :mod:`py3:tkinter`                |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_dialog``           | :mod:`py2:Dialog`                   | :mod:`py3:tkinter.dialog`         |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_filedialog``       | :mod:`py2:FileDialog`               | :mod:`py3:tkinter.FileDialog`     |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_scrolledtext``     | :mod:`py2:ScrolledText`             | :mod:`py3:tkinter.scolledtext`    |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_simpledialog``     | :mod:`py2:SimpleDialog`             | :mod:`py2:tkinter.simpledialog`   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_tix``              | :mod:`py2:Tix`                      | :mod:`py3:tkinter.tix`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_constants``        | :mod:`py2:Tkconstants`              | :mod:`py3:tkinter.constants`      |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_dnd``              | :mod:`py2:Tkdnd`                    | :mod:`py3:tkinter.dnd`            |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_colorchooser``     | :mod:`py2:tkColorChooser`           | :mod:`py3:tkinter.colorchooser`   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_commondialog``     | :mod:`py2:tkCommonDialog`           | :mod:`py3:tkinter.commondialog`   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_tkfiledialog``     | :mod:`py2:tkFileDialog`             | :mod:`py3:tkinter.filedialog`     |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_font``             | :mod:`py2:tkFont`                   | :mod:`py3:tkinter.font`           |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_messagebox``       | :mod:`py2:tkMessageBox`             | :mod:`py3:tkinter.messagebox`     |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``tkinter_tksimpledialog``   | :mod:`py2:tkSimpleDialog`           | :mod:`py3:tkinter.simpledialog`   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``urllib_robotparser``       | :mod:`py2:robotparser`              | :mod:`py3:urllib.robotparser`     |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``winreg``                   | :mod:`py2:_winreg`                  | :mod:`py3:winreg`                 |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``xrange``                   | :func:`py2:xrange`                  | :func:`py3:range`                 |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``zip``                      | :func:`py2:itertools.izip`          | :func:`py3:zip`                   |
-+------------------------------+-------------------------------------+-----------------------------------+
-| ``zip_longest``              | :func:`py2:itertools.izip_longest`  | :func:`py3:itertools.zip_longest` |
-+------------------------------+-------------------------------------+-----------------------------------+
++------------------------------+-------------------------------------+-------------------------------------+
+| Name                         | Python 2 name                       | Python 3 name                       |
++==============================+=====================================+=====================================+
+| ``builtins``                 | :mod:`py2:__builtin__`              | :mod:`py3:builtins`                 |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``configparser``             | :mod:`py2:ConfigParser`             | :mod:`py3:configparser`             |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``copyreg``                  | :mod:`py2:copy_reg`                 | :mod:`py3:copyreg`                  |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``cPickle``                  | :mod:`py2:cPickle`                  | :mod:`py3:pickle`                   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``cStringIO``                | :func:`py2:cStringIO.StringIO`      | :class:`py3:io.StringIO`            |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``email_mime_multipart``     | :mod:`py2:email.MIMEMultipart`      | :mod:`py3:email.mime.multipart`     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``email_mime_text``          | :mod:`py2:email.MIMEText`           | :mod:`py3:email.mime.text`          |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``email_mime_base``          | :mod:`py2:email.MIMEBase`           | :mod:`py3:email.mime.base`          |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``filter``                   | :func:`py2:itertools.ifilter`       | :func:`py3:filter`                  |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``filterfalse``              | :func:`py2:itertools.ifilterfalse`  | :func:`py3:itertools.filterfalse`   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``http_cookiejar``           | :mod:`py2:cookielib`                | :mod:`py3:http.cookiejar`           |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``http_cookies``             | :mod:`py2:Cookie`                   | :mod:`py3:http.cookies`             |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``html_entities``            | :mod:`py2:htmlentitydefs`           | :mod:`py3:html.entities`            |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``html_parser``              | :mod:`py2:HTMLParser`               | :mod:`py3:html.parser`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``http_client``              | :mod:`py2:httplib`                  | :mod:`py3:http.client`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``BaseHTTPServer``           | :mod:`py2:BaseHTTPServer`           | :mod:`py3:http.server`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``CGIHTTPServer``            | :mod:`py2:CGIHTTPServer`            | :mod:`py3:http.server`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``SimpleHTTPServer``         | :mod:`py2:SimpleHTTPServer`         | :mod:`py3:http.server`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``input``                    | :func:`py2:raw_input`               | :func:`py3:input`                   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``map``                      | :func:`py2:itertools.imap`          | :func:`py3:map`                     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``queue``                    | :mod:`py2:Queue`                    | :mod:`py3:queue`                    |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``range``                    | :func:`py2:xrange`                  | :func:`py3:range`                   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``reduce``                   | :func:`py2:reduce`                  | :func:`py3:functools.reduce`        |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``reload_module``            | :func:`py2:reload`                  | :func:`py3:imp.reload`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``reprlib``                  | :mod:`py2:repr`                     | :mod:`py3:reprlib`                  |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``socketserver``             | :mod:`py2:SocketServer`             | :mod:`py3:socketserver`             |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter``                  | :mod:`py2:Tkinter`                  | :mod:`py3:tkinter`                  |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_dialog``           | :mod:`py2:Dialog`                   | :mod:`py3:tkinter.dialog`           |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_filedialog``       | :mod:`py2:FileDialog`               | :mod:`py3:tkinter.FileDialog`       |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_scrolledtext``     | :mod:`py2:ScrolledText`             | :mod:`py3:tkinter.scolledtext`      |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_simpledialog``     | :mod:`py2:SimpleDialog`             | :mod:`py2:tkinter.simpledialog`     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_tix``              | :mod:`py2:Tix`                      | :mod:`py3:tkinter.tix`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_constants``        | :mod:`py2:Tkconstants`              | :mod:`py3:tkinter.constants`        |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_dnd``              | :mod:`py2:Tkdnd`                    | :mod:`py3:tkinter.dnd`              |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_colorchooser``     | :mod:`py2:tkColorChooser`           | :mod:`py3:tkinter.colorchooser`     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_commondialog``     | :mod:`py2:tkCommonDialog`           | :mod:`py3:tkinter.commondialog`     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_tkfiledialog``     | :mod:`py2:tkFileDialog`             | :mod:`py3:tkinter.filedialog`       |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_font``             | :mod:`py2:tkFont`                   | :mod:`py3:tkinter.font`             |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_messagebox``       | :mod:`py2:tkMessageBox`             | :mod:`py3:tkinter.messagebox`       |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``tkinter_tksimpledialog``   | :mod:`py2:tkSimpleDialog`           | :mod:`py3:tkinter.simpledialog`     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``urllib_robotparser``       | :mod:`py2:robotparser`              | :mod:`py3:urllib.robotparser`       |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``UserString``               | :class:`py2:UserString.UserString`  | :class:`py3:collections.UserString` |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``winreg``                   | :mod:`py2:_winreg`                  | :mod:`py3:winreg`                   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``xrange``                   | :func:`py2:xrange`                  | :func:`py3:range`                   |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``zip``                      | :func:`py2:itertools.izip`          | :func:`py3:zip`                     |
++------------------------------+-------------------------------------+-------------------------------------+
+| ``zip_longest``              | :func:`py2:itertools.izip_longest`  | :func:`py3:itertools.zip_longest`   |
++------------------------------+-------------------------------------+-------------------------------------+
 
 Advanced - Customizing renames
 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
     MovedAttribute("reload_module", "__builtin__", "imp", "reload"),
     MovedAttribute("reduce", "__builtin__", "functools"),
     MovedAttribute("StringIO", "StringIO", "io"),
+    MovedAttribute("UserString", "UserString", "collections"),
     MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"),
     MovedAttribute("zip", "itertools", "builtins", "izip", "zip"),
     MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"),