From 6f337e0b14f022e942c723ddcad89279f727a099 Mon Sep 17 00:00:00 2001 From: John (J5) Palmieri Date: Tue, 03 Oct 2006 21:06:48 +0000 Subject: Changed all type checking to use isinstance --- diff --git a/services/presence/Buddy.py b/services/presence/Buddy.py index 0b88e2b..6b71cb1 100644 --- a/services/presence/Buddy.py +++ b/services/presence/Buddy.py @@ -116,7 +116,7 @@ class Buddy(object): def __init__(self, bus_name, object_id, service, icon_cache): if not bus_name: raise ValueError("DBus bus name must be valid") - if not object_id or type(object_id) != type(1): + if not object_id or not isinstance(object_id, int): raise ValueError("object id must be a valid number") # Normal Buddy objects must be created with a valid service, # owner objects do not diff --git a/services/presence/BuddyIconCache.py b/services/presence/BuddyIconCache.py index 59d5e88..d1bec70 100644 --- a/services/presence/BuddyIconCache.py +++ b/services/presence/BuddyIconCache.py @@ -31,7 +31,7 @@ class BuddyIconCache(object): return data def get_icon(self, printable_hash): - if type(printable_hash) != type(u""): + if not isinstance(printable_hash, unicode): raise RuntimeError("printable_hash must be a unicode string.") try: fname = self._cache[printable_hash] diff --git a/services/presence/PresenceService.py b/services/presence/PresenceService.py index 938e611..400d7cf 100644 --- a/services/presence/PresenceService.py +++ b/services/presence/PresenceService.py @@ -16,18 +16,18 @@ class ServiceAdv(object): def __init__(self, interface, protocol, name, stype, domain, local): self._interface = interface self._protocol = protocol - if type(name) != type(u""): + if not isinstance(name, unicode): raise ValueError("service advertisement name must be unicode.") self._name = name - if type(stype) != type(u""): + if not isinstance(stype, unicode): raise ValueError("service advertisement type must be unicode.") self._stype = stype - if type(domain) != type(u""): + if not isinstance(domain, unicode): raise ValueError("service advertisement domain must be unicode.") self._domain = domain self._service = None - if type(local) != type(False): - raise ValueError("local must be a boolean.") + if not isinstance(local, bool): + raise ValueError("local must be a bool.") self._local = local self._state = _SA_UNRESOLVED self._resolver = None @@ -714,7 +714,7 @@ class PresenceService(object): raise ValueError("invalid activity id") owner_nick = self._owner.get_name() real_name = Service.compose_service_name(owner_nick, activity_id) - if address and type(address) != type(u""): + if address and isinstance(address, unicode): raise ValueError("address must be a unicode string.") if address == None and stype.endswith('_udp'): # Use random currently unassigned multicast address @@ -722,7 +722,7 @@ class PresenceService(object): random.randint(1, 254)) properties['address'] = address properties['port'] = port - if port and port != -1 and (type(port) != type(1) or port <= 1024 or port >= 65535): + if port and port != -1 and (not isinstance(port, int) or port <= 1024 or port >= 65535): raise ValueError("port must be a number between 1024 and 65535") color = self._owner.get_color() @@ -768,7 +768,7 @@ class PresenceService(object): def register_service_type(self, stype): """Requests that the Presence service look for and recognize a certain mDNS service types.""" - if type(stype) != type(u""): + if not isinstance(stype, unicode): raise ValueError("service type must be a unicode string.") # If we've already registered it as a service type, ref it and return @@ -795,7 +795,7 @@ class PresenceService(object): def unregister_service_type(self, stype): """Stop tracking a certain mDNS service.""" - if type(stype) != type(u""): + if not isinstance(stype, unicode): raise ValueError("service type must be a unicode string.") # if it was found, unref it and possibly remove it diff --git a/services/presence/Service.py b/services/presence/Service.py index 9a216c3..a26f427 100644 --- a/services/presence/Service.py +++ b/services/presence/Service.py @@ -8,20 +8,20 @@ import logging import gobject def compose_service_name(name, activity_id): - if type(name) == type(""): + if isinstance(name, str): name = unicode(name) if not name: raise ValueError("name must be a valid string.") if not activity_id: return name - if type(name) != type(u""): + if not isinstance(name, unicode): raise ValueError("name must be in unicode.") composed = "%s [%s]" % (name, activity_id) return composed def decompose_service_name(name): """Break a service name into the name and activity ID, if we can.""" - if type(name) != type(u""): + if not isinstance(name, unicode): raise ValueError("name must be a valid unicode string.") name_len = len(name) if name_len < util.ACTIVITY_ID_LEN + 5: @@ -151,23 +151,23 @@ class Service(gobject.GObject): gobject.GObject.__init__(self) if not bus_name: raise ValueError("DBus bus name must be valid") - if not object_id or type(object_id) != type(1): + if not object_id or not isinstance(object_id, int): raise ValueError("object id must be a valid number") # Validate immutable options - if name and type(name) != type(u""): + if name and not isinstance(name, unicode): raise ValueError("name must be unicode.") if not name or not len(name): raise ValueError("must specify a valid service name.") - if stype and type(stype) != type(u""): + if stype and not isinstance(stype, unicode): raise ValueError("service type must be in unicode.") if not stype or not len(stype): raise ValueError("must specify a valid service type.") if not stype.endswith("._tcp") and not stype.endswith("._udp"): raise ValueError("must specify a TCP or UDP service type.") - if type(domain) != type(u""): + if not isinstance(domain, unicode): raise ValueError("domain must be in unicode.") if domain and domain != "local": raise ValueError("must use the 'local' domain (for now).") @@ -271,9 +271,9 @@ class Service(gobject.GObject): if sender is not None and self._local_publisher != sender: raise ValueError("Service was not not registered by requesting process!") - if type(key) != type(u""): + if not isinstance(key, unicode): raise ValueError("Key must be a unicode string.") - if type(value) != type(u"") and type(value) != type(True): + if not isinstance(value, unicode) and not isinstance(value, bool): raise ValueError("Key must be a unicode string or a boolean.") # Ignore setting the key to it's current value @@ -283,9 +283,9 @@ class Service(gobject.GObject): # Blank value means remove key remove = False - if type(value) == type(u"") and len(value) == 0: + if isinstance(value, unicode) and len(value) == 0: remove = True - if type(value) == type(False) and value == False: + if isinstance(value, bool) and value == False: remove = True if remove: @@ -294,7 +294,7 @@ class Service(gobject.GObject): del self._properties[key] else: # Otherwise set it - if type(value) == type(True): + if isinstance(value, bool): value = "" self._properties[key] = value @@ -330,9 +330,9 @@ class Service(gobject.GObject): continue tmp_key = key tmp_val = value - if type(tmp_key) != type(u""): + if not isinstance(tmp_key, unicode): tmp_key = unicode(tmp_key) - if type(tmp_val) != type(u""): + if not isinstance(tmp_val, unicode): tmp_val = unicode(tmp_val) self._properties[tmp_key] = tmp_val @@ -361,7 +361,7 @@ class Service(gobject.GObject): return self._port def set_port(self, port): - if type(port) != type(1) or (port <= 1024 and port > 65536): + if not isinstance(port, int) or (port <= 1024 and port > 65536): raise ValueError("must specify a valid port number between 1024 and 65536.") self._port = port @@ -369,7 +369,7 @@ class Service(gobject.GObject): return self._source_address def set_source_address(self, address): - if not address or type(address) != type(u""): + if not address or not isinstance(address, unicode): raise ValueError("address must be unicode") self._source_address = address @@ -377,7 +377,7 @@ class Service(gobject.GObject): return self._address def set_address(self, address): - if not address or type(address) != type(u""): + if not address or not isinstance(address, unicode): raise ValueError("address must be a unicode string") self._address = address self._properties['address'] = address diff --git a/sugar/chat/sketchpad/SVGdraw.py b/sugar/chat/sketchpad/SVGdraw.py index cbd8729..803cf1d 100644 --- a/sugar/chat/sketchpad/SVGdraw.py +++ b/sugar/chat/sketchpad/SVGdraw.py @@ -374,7 +374,7 @@ class SVGelement: f.write('\n'+'\t'*(level+2)+line) f.write('\n'+'\t'*(level+1)+']]>\n') if self.text: - if type(self.text)==type(''): #If the text is only text + if isinstance(self.text, str): #If the text is only text f.write(_escape(str(self.text))) else: #If the text is a spannedtext class f.write(str(self.text)) diff --git a/sugar/p2p/MostlyReliablePipe.py b/sugar/p2p/MostlyReliablePipe.py index 10e69a5..fe9e88a 100644 --- a/sugar/p2p/MostlyReliablePipe.py +++ b/sugar/p2p/MostlyReliablePipe.py @@ -86,21 +86,21 @@ class SegmentBase(object): self._addr = None # Sanity checks on the message attributes - if not segno or type(segno) != type(1): + if not segno or not isinstance(segno, int): raise ValueError("Segment number must be in integer.") if segno < 1 or segno > 65535: raise ValueError("Segment number must be between 1 and 65535 inclusive.") - if not total_segs or type(total_segs) != type(1): + if not total_segs or not isinstance(total_segs, int): raise ValueError("Message segment total must be an integer.") if total_segs < 1 or total_segs > 65535: raise ValueError("Message must have between 1 and 65535 segments inclusive.") if segno > total_segs: raise ValueError("Segment number cannot be larger than message segment total.") - if not msg_seq_num or type(msg_seq_num) != type(1): + if not msg_seq_num or not isinstance(msg_seq_num, int): raise ValueError("Message sequnce number must be an integer.") if msg_seq_num < 1 or msg_seq_num > 65535: raise ValueError("Message sequence number must be between 1 and 65535 inclusive.") - if not master_sha or type(master_sha) != type("") or len(master_sha) != 20: + if not master_sha or not isinstance(master_sha, str) or len(master_sha) != 20: raise ValueError("Message SHA1 checksum invalid.") self._segno = segno @@ -109,9 +109,9 @@ class SegmentBase(object): self._master_sha = master_sha def _validate_address(addr): - if not addr or type(addr) != type(()): + if not addr or not isinstance(addr, tuple): raise ValueError("Address must be a tuple.") - if len(addr) != 2 or type(addr[0]) != type("") or type(addr[1]) != type(1): + if len(addr) != 2 or not isinstance(addr[0], str) or not isinstance(addr[1], int): raise ValueError("Address format was invalid.") if addr[1] < 1 or addr[1] > 65535: raise ValueError("Address port was invalid.") @@ -265,15 +265,15 @@ class RetransmitSegment(SegmentBase): def _verify_data(rt_msg_seq_num, rt_master_sha, rt_segment_number): # Sanity checks on the message attributes - if not rt_segment_number or type(rt_segment_number) != type(1): + if not rt_segment_number or not isinstance(rt_segment_number, int): raise ValueError("RT Segment number must be in integer.") if rt_segment_number < 1 or rt_segment_number > 65535: raise ValueError("RT Segment number must be between 1 and 65535 inclusive.") - if not rt_msg_seq_num or type(rt_msg_seq_num) != type(1): + if not rt_msg_seq_num or not isinstance(rt_msg_seq_num, int): raise ValueError("RT Message sequnce number must be an integer.") if rt_msg_seq_num < 1 or rt_msg_seq_num > 65535: raise ValueError("RT Message sequence number must be between 1 and 65535 inclusive.") - if not rt_master_sha or type(rt_master_sha) != type("") or len(rt_master_sha) != 20: + if not rt_master_sha or not isinstance(rt_master_sha, str) or len(rt_master_sha) != 20: raise ValueError("RT Message SHA1 checksum invalid.") _verify_data = staticmethod(_verify_data) @@ -349,13 +349,13 @@ class AckSegment(SegmentBase): def _verify_data(ack_msg_seq_num, ack_master_sha, ack_addr): # Sanity checks on the message attributes - if not ack_msg_seq_num or type(ack_msg_seq_num) != type(1): + if not ack_msg_seq_num or not isinstance(ack_msg_seq_num, int): raise ValueError("Ack message sequnce number must be an integer.") if ack_msg_seq_num < 1 or ack_msg_seq_num > 65535: raise ValueError("Ack message sequence number must be between 1 and 65535 inclusive.") - if not ack_master_sha or type(ack_master_sha) != type("") or len(ack_master_sha) != 20: + if not ack_master_sha or not isinstance(ack_master_sha, str) or len(ack_master_sha) != 20: raise ValueError("Ack message SHA1 checksum invalid.") - if type(ack_addr) != type(""): + if not isinstance(ack_addr, str): raise ValueError("Ack message invalid address type.") try: foo = socket.inet_aton(ack_addr) @@ -865,7 +865,7 @@ class MostlyReliablePipe(object): """Debugging function to randomly drop incoming packets. The prob argument should be an integer between 1 and 10 to drop, or 0 to drop none. Higher numbers drop more packets.""" - if type(prob) != type(1): + if not isinstance(prob, int): raise ValueError("Drop probability must be an integer.") if prob < 1 or prob > 10: raise ValueError("Drop probability must be between 1 and 10 inclusive.") diff --git a/sugar/util.py b/sugar/util.py index 1584fd8..e664e3b 100644 --- a/sugar/util.py +++ b/sugar/util.py @@ -43,7 +43,7 @@ def is_hex(s): def validate_activity_id(actid): """Validate an activity ID.""" - if type(actid) != type("") and type(actid) != type(u""): + if not isinstance(actid, str) and not isinstance(actid, unicode): return False if len(actid) != ACTIVITY_ID_LEN: return False -- cgit v0.9.1