pydata/pandas — pull request #4092 by jtratner (2013-07-01 02:47:14+00:00)
Title: CLN: Refactor string special methods

Resolves #4090.

* The internal `pandas` class hierarchy has changed (slightly). The
previous `PandasObject` now is called `PandasContainer` and a new
`PandasObject` has become the baseclass for `PandasContainer` as well
as `Index`, `Categorical`, `GroupBy`, `SparseList`, and
`SparseArray` (+ their base classes). Currently, `PandasObject`
provides string methods (from `StringMixin`).
* New `StringMixin` that, given a `__unicode__` method, gets python 2 and
python 3 compatible string methods (`__str__`, `__bytes__`, and
`__repr__`). Now employed in many places throughout the pandas library.
* Tried to improve safe unicode handling (e.g., where user/external input is
used in the string or repr methods of a library).

I'm hoping to use this for the new objects in the MultiIndex naming PR, so
hopefully it's okay to merge for v0.12.