[ovs-dev] Add a __str__ method to idl.Row
diff mbox series

Message ID 1567553238-19549-1-git-send-email-twilson@redhat.com
State New
Headers show
Series
  • [ovs-dev] Add a __str__ method to idl.Row
Related show

Commit Message

Terry Wilson Sept. 3, 2019, 11:27 p.m. UTC
It's sometimes handy to log an entire Row object, so this just
adds a string representation of the object as:

   Tablename(col1=val1, col2=val2, ..., coln=valn)

Signed-off-by: Terry Wilson <twilson@redhat.com>
---
 python/ovs/db/idl.py | 6 ++++++
 1 file changed, 6 insertions(+)

Patch
diff mbox series

diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py
index 84af978..d1d9155 100644
--- a/python/ovs/db/idl.py
+++ b/python/ovs/db/idl.py
@@ -997,6 +997,12 @@  class Row(object):
     def __hash__(self):
         return int(self.__dict__['uuid'])
 
+    def __str__(self):
+        return "{table}({data})".format(
+            table=self._table.name,
+            data=", ".join("{col}={val}".format(col=c, val=getattr(self, c))
+                           for c in sorted(self._table.columns)))
+
     def __getattr__(self, column_name):
         assert self._changes is not None
         assert self._mutations is not None