diff options
author | Egon Valdmees | 2011-02-11 11:35:19 +0000 |
---|---|---|
committer | Marko Kreen | 2011-02-11 13:54:22 +0000 |
commit | dcce9c74124d54dbd4b2fad05fa5a0178b01eb47 (patch) | |
tree | aa1cccd1f6c0d9077d44ad8171a975a992ee5910 | |
parent | c49b0439b737efe327f8a5e8b4d940a3d9111977 (diff) |
AdminScript.display_table: allow field formatter function
-rw-r--r-- | python/skytools/adminscript.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/python/skytools/adminscript.py b/python/skytools/adminscript.py index 713e1843..ec81aa8f 100644 --- a/python/skytools/adminscript.py +++ b/python/skytools/adminscript.py @@ -68,7 +68,8 @@ class AdminScript(DBScript): res = [r[keycol] for r in rows] return res - def display_table(self, db, desc, sql, args = [], fields = []): + def display_table(self, db, desc, sql, args = [], fields = [], + fieldfmt = {}): """Display multirow query as a table.""" self.log.debug("display_table: %s" % quote_statement(sql, args)) @@ -96,9 +97,14 @@ class AdminScript(DBScript): print(fmt % tuple(fields)) print(fmt % tuple([ '-' * (w - 2) for w in widths ])) #print(fmt % tuple(['-'*15] * len(fields))) - for row in rows: - print(fmt % tuple([row[k] for k in fields])) + vals = [] + for field in fields: + val = row[field] + if field in fieldfmt: + val = fieldfmt[field](val) + vals.append(val) + print(fmt % tuple(vals)) print('\n') return 1 |