X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FAddressTypes.py;h=64231299e49a13917f66e24ef45eef16b761ae0e;hb=d20644a48d03667bb25dc583517de06e94606c64;hp=15b0ea1b5156d0354fdeaa0333dd419ce2fca074;hpb=00b458601d8f318b617b43d11cb4fdb93e89967c;p=plcapi.git diff --git a/PLC/AddressTypes.py b/PLC/AddressTypes.py index 15b0ea1..6423129 100644 --- a/PLC/AddressTypes.py +++ b/PLC/AddressTypes.py @@ -4,11 +4,7 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id$ -# $URL$ -# -from types import StringTypes from PLC.Faults import * from PLC.Parameter import Parameter from PLC.Filter import Filter @@ -32,13 +28,13 @@ class AddressType(Row): def validate_name(self, name): # Make sure name is not blank if not len(name): - raise PLCInvalidArgument, "Address type must be specified" + raise PLCInvalidArgument("Address type must be specified") # Make sure address type does not already exist conflicts = AddressTypes(self.api, [name]) for address_type_id in conflicts: if 'address_type_id' not in self or self['address_type_id'] != address_type_id: - raise PLCInvalidArgument, "Address type name already in use" + raise PLCInvalidArgument("Address type name already in use") return name @@ -56,20 +52,20 @@ class AddressTypes(Table): if address_type_filter is not None: if isinstance(address_type_filter, (list, tuple, set)): # Separate the list into integers and strings - ints = filter(lambda x: isinstance(x, (int, long)), address_type_filter) - strs = filter(lambda x: isinstance(x, StringTypes), address_type_filter) + ints = [x for x in address_type_filter if isinstance(x, int)] + strs = [x for x in address_type_filter if isinstance(x, str)] address_type_filter = Filter(AddressType.fields, {'address_type_id': ints, 'name': strs}) sql += " AND (%s) %s" % address_type_filter.sql(api, "OR") elif isinstance(address_type_filter, dict): address_type_filter = Filter(AddressType.fields, address_type_filter) sql += " AND (%s) %s" % address_type_filter.sql(api, "AND") - elif isinstance(address_type_filter, (int, long)): + elif isinstance(address_type_filter, int): address_type_filter = Filter(AddressType.fields, {'address_type_id': address_type_filter}) sql += " AND (%s) %s" % address_type_filter.sql(api, "AND") - elif isinstance(address_type_filter, StringTypes): + elif isinstance(address_type_filter, str): address_type_filter = Filter(AddressType.fields, {'name': address_type_filter}) sql += " AND (%s) %s" % address_type_filter.sql(api, "AND") else: - raise PLCInvalidArgument, "Wrong address type filter %r"%address_type_filter + raise PLCInvalidArgument("Wrong address type filter %r"%address_type_filter) self.selectall(sql)