summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgon Valdmees2011-02-11 11:35:19 +0000
committerMarko Kreen2011-02-11 13:54:22 +0000
commitdcce9c74124d54dbd4b2fad05fa5a0178b01eb47 (patch)
treeaa1cccd1f6c0d9077d44ad8171a975a992ee5910
parentc49b0439b737efe327f8a5e8b4d940a3d9111977 (diff)
AdminScript.display_table: allow field formatter function
-rw-r--r--python/skytools/adminscript.py12
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