trying out the hint from github issue
[plcapi.git] / PLC / Addresses.py
index 14bc9db..6d6acee 100644 (file)
@@ -83,17 +83,17 @@ class Addresses(Table):
     database.
     """
 
-    def __init__(self, api, address_filter = None):
-       Table.__init__(self, api, Address)
+    def __init__(self, api, address_filter = None, columns = None):
+        Table.__init__(self, api, Address, columns)
 
         sql = "SELECT %s FROM view_addresses WHERE True" % \
-              ", ".join(Address.fields)
+              ", ".join(self.columns)
 
         if address_filter is not None:
-            if isinstance(address_filter, list):
+            if isinstance(address_filter, (list, tuple, set, int, long)):
                 address_filter = Filter(Address.fields, {'address_id': address_filter})
             elif isinstance(address_filter, dict):
                 address_filter = Filter(Address.fields, address_filter)
-            sql += " AND (%s)" % address_filter.sql(api)
+            sql += " AND (%s) %s" % address_filter.sql(api)
 
         self.selectall(sql)