From 96656d3f80c8bc88b04f187655459ae608b66a14 Mon Sep 17 00:00:00 2001 From: Gregor Aisch Date: Tue, 9 Apr 2013 00:26:59 +0200 Subject: [PATCH] changed API of dataset.freeze() dataset.freeze() is now expecting a result iterable instead of database and query. --- dataset/freeze/app.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/dataset/freeze/app.py b/dataset/freeze/app.py index e9e78cb..772b584 100644 --- a/dataset/freeze/app.py +++ b/dataset/freeze/app.py @@ -18,7 +18,7 @@ parser.add_argument('config', metavar='CONFIG', type=str, help='freeze file cofiguration') -def freeze(database, query, format='csv', filename='freeze.csv', +def freeze(result, format='csv', filename='freeze.csv', prefix='.', meta={}, indent=2, mode='list', wrap=True, **kw): """ Perform a data export of a given SQL statement. This is a very @@ -27,8 +27,6 @@ def freeze(database, query, format='csv', filename='freeze.csv', of records) into individual files. """ kw.update({ - 'database': database, - 'query': query, 'format': format, 'filename': filename, 'prefix': prefix, @@ -37,15 +35,16 @@ def freeze(database, query, format='csv', filename='freeze.csv', 'mode': mode, 'wrap': wrap }) - return freeze_export(Export({}, kw)) + return freeze_export(Export({}, kw), result=result) -def freeze_export(export): +def freeze_export(export, result=None): try: - database = export.get('database') - if isinstance(database, (str, unicode)): - database = Database(database) - query = database.query(export.get('query')) + if result is None: + database = Database(export.get('database')) + query = database.query(export.get('query')) + else: + query = result serializer_cls = get_serializer(export) serializer = serializer_cls(export, query) serializer.serialize()