[ovs-dev] [PATCH] Add a __str__ method to idl.Row

Terry Wilson twilson at redhat.com
Tue Sep 3 23:27:18 UTC 2019


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 at redhat.com>
---
 python/ovs/db/idl.py | 6 ++++++
 1 file changed, 6 insertions(+)

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
-- 
1.8.3.1



More information about the dev mailing list