ContinuumIO/blaze — pull request #831 by mrocklin (2014-11-12 03:49:47+00:00)
Title: Extend repr to not-just-tables

The old strategy for `Expr.__repr__` was something like the following

repr(expr) -> repr(into(DataFrame, expr.head(10)))

This is great for tables, not so great for other things (like arrays and full databases)

Now we explicitly check certain cases (is it tabular? is it scalar?) and do specific repr strategies. We default to printing out the data, expression, and datashape like so

```Python
In [2]: f = h5py.File('/home/mrocklin/Downloads/OMI-Aura_L2-OMAERO_2014m1105t2304-o54838_v003-2014m1106t215558.he5')

In [3]: d = Data(f)

In [4]: d
Out[4]:
Data:
Expr: _1
DataShape: {
HDFEOS: {
ADDITIONAL: {FILE_ATTRIBUTES: {}},
SWATHS: {
ColumnAmountAerosol: {
Data Fields: {
AerosolIndexUV: 1643 * 60 * int16,
...

In [5]: d.HDFEOS.SWATHS
Out[5]:
Data:
Expr: _1.HDFEOS.SWATHS
DataShape: {
ColumnAmountAerosol: {
Data Fields: {
AerosolIndexUV: 1643 * 60 * int16,
AerosolIndexVIS: 1643 * 60 * int16,
AerosolModelMW: 1643 * 60 * uint16,
AerosolModelsPassedThreshold: 1643 * 60 * 10 * uint16,
...
```

This could be improved. Suggestions welcome