Added convenience check to `freeze()`. If a whole table is passed
as a result set, rather than a result set, calls ``result.all()`` to automagically "do the right thing."
This commit is contained in:
parent
e488664efe
commit
93c05eb542
@ -3,6 +3,7 @@ import argparse
|
||||
|
||||
from sqlalchemy.exc import ProgrammingError
|
||||
from dataset.util import FreezeException
|
||||
from dataset.persistence.table import Table
|
||||
from dataset.persistence.database import Database
|
||||
from dataset.freeze.config import Configuration, Export
|
||||
from dataset.freeze.format import get_serializer
|
||||
@ -33,6 +34,9 @@ def freeze(result, format='csv', filename='freeze.csv',
|
||||
result = db['person'].all()
|
||||
dataset.freeze(result, format='json', filename='all-persons.json')
|
||||
|
||||
If ``result`` is a table (rather than a result set), all records in
|
||||
the table are exported (as if ``result.all()`` had been called).
|
||||
|
||||
|
||||
freeze supports two values for ``mode``:
|
||||
|
||||
@ -73,7 +77,8 @@ def freeze(result, format='csv', filename='freeze.csv',
|
||||
'mode': mode,
|
||||
'wrap': wrap
|
||||
})
|
||||
return freeze_export(Export({}, kw), result=result)
|
||||
records = result.all() if isinstance(result, Table) else result
|
||||
return freeze_export(Export({}, kw), result=records)
|
||||
|
||||
|
||||
def freeze_export(export, result=None):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user