Test urlparse cache with try/except instead of has_key.
This makes it thread-safe again.
diff --git a/Lib/urlparse.py b/Lib/urlparse.py
index 31d853a..aeed393 100644
--- a/Lib/urlparse.py
+++ b/Lib/urlparse.py
@@ -44,8 +44,10 @@
 # (e.g. netloc is a single string) and we don't expand % escapes.
 def urlparse(url, scheme = '', allow_framents = 1):
 	key = url, scheme, allow_framents
-	if _parse_cache.has_key(key):
+	try:
 	    return _parse_cache[key]
+	except KeyError:
+	    pass
 	if len(_parse_cache) >= MAX_CACHE_SIZE:	# avoid runaway growth
 	    clear_cache()
 	netloc = path = params = query = fragment = ''