Get rid of a bunch more has_key() uses.  We *really* need a tool for this.
test_aepack now passes.  IDLE still needs to be converted (among others).
diff --git a/Lib/plat-mac/findertools.py b/Lib/plat-mac/findertools.py
index 54b1bde..f013c85 100644
--- a/Lib/plat-mac/findertools.py
+++ b/Lib/plat-mac/findertools.py
@@ -139,9 +139,9 @@
     args['----'] = aeobj_01
     args["data"] = comment
     _reply, args, attrs = finder.send("core", "setd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def _getcomment(object_alias):
@@ -152,9 +152,9 @@
     aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('comt'), fr=aeobj_00)
     args['----'] = aeobj_01
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 
@@ -174,10 +174,10 @@
     ## get the processnames or else the processnumbers
     args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prcs'), form="indx", seld=aetypes.Unknown('abso', "all "), fr=None)
     _reply, args, attrs = finder.send('core', 'getd', args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
     p = []
-    if args.has_key('----'):
+    if '----' in args:
         p =  args['----']
         for proc in p:
             if hasattr(proc, 'seld'):
@@ -193,9 +193,9 @@
     aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('prcs'), form="indx", seld=aetypes.Unknown('abso', "all "), fr=None)
     args['----'] =  aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fcrt'), fr=aeobj_0)
     _reply, args, attrs = finder.send('core', 'getd', args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(_arg)
-    if args.has_key('----'):
+    if '----' in args:
         p =  args['----']
         creators = p[:]
     ## concatenate in one dict
@@ -248,9 +248,9 @@
     aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type(property), fr=aeobj_00)
     args['----'] = aeobj_01
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 
@@ -269,7 +269,7 @@
     aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None)
     args['----'] = aeobj_0
     _reply, args, attrs = finder.send(_code, _subcode, args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
 
 def closewindow(object):
@@ -284,7 +284,7 @@
     aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None)
     args['----'] = aeobj_0
     _reply, args, attrs = finder.send(_code, _subcode, args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
 
 def location(object, pos=None):
@@ -306,7 +306,7 @@
     args['----'] = aeobj_01
     args["data"] = [x, y]
     _reply, args, attrs = finder.send("core", "setd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
     return (x,y)
 
@@ -319,9 +319,9 @@
     aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('posn'), fr=aeobj_00)
     args['----'] = aeobj_01
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         pos = args['----']
         return pos.h, pos.v
 
@@ -344,9 +344,9 @@
     aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('labi'), fr=aeobj_00)
     args['----'] = aeobj_01
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def _setlabel(object_alias, index):
@@ -363,7 +363,7 @@
     args['----'] = aeobj_1
     args["data"] = index
     _reply, args, attrs = finder.send(_code, _subcode, args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
     return index
 
@@ -403,9 +403,9 @@
     args['----'] = aeobj_2
     args['data'] = aeobj_3
     _reply, args, attrs = finder.send(_code, _subcode, args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def _getwindowview(folder_alias):
@@ -420,10 +420,10 @@
     aeobj_02 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('pvew'), fr=aeobj_01)
     args['----'] = aeobj_02
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
     views = {'iimg':0, 'pnam':1, 'lgbu':2}
-    if args.has_key('----'):
+    if '----' in args:
         return views[args['----'].enum]
 
 def windowsize(folder, size=None):
@@ -455,7 +455,7 @@
     args['----'] = aeobj_2
     args["data"] = aevar00
     _reply, args, attrs = finder.send(_code, _subcode, args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
     return (w, h)
 
@@ -472,9 +472,9 @@
             form="prop", seld=aetypes.Type('posn'), fr=aeobj_1)
     args['----'] = aeobj_2
     _reply, args, attrs = finder.send('core', 'getd', args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def windowposition(folder, pos=None):
@@ -503,9 +503,9 @@
     args['----'] = aeobj_2
     args["data"] = [x, y]
     _reply, args, attrs = finder.send('core', 'setd', args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def _getwindowposition(folder_alias):
@@ -521,9 +521,9 @@
             form="prop", seld=aetypes.Type('ptsz'), fr=aeobj_1)
     args['----'] = aeobj_2
     _reply, args, attrs = finder.send('core', 'getd', args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def icon(object, icondata=None):
@@ -548,9 +548,9 @@
             form="prop", seld=aetypes.Type('iimg'), fr=aeobj_00)
     args['----'] = aeobj_01
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def _seticon(object_alias, icondata):
@@ -565,9 +565,9 @@
     args['----'] = aeobj_01
     args["data"] = icondata
     _reply, args, attrs = finder.send("core", "setd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----'].data
 
 
@@ -590,9 +590,9 @@
         args["SRVR"] = server
     args['----'] = volume
     _reply, args, attrs = finder.send("aevt", "mvol", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def unmountvolume(volume):
@@ -606,9 +606,9 @@
     attrs = {}
     args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('cdis'), form="name", seld=object, fr=None)
     _reply, args, attrs = talker.send("fndr", "ptwy", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 
@@ -627,9 +627,9 @@
         level = 7
     args['----'] = level
     _reply, args, attrs = finder.send("aevt", "stvl", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def OSversion():
@@ -640,9 +640,9 @@
     aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('ver2'), fr=None)
     args['----'] = aeobj_00
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         return args['----']
 
 def filesharing():
@@ -657,9 +657,9 @@
     attrs = {}
     args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fshr'), fr=None)
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         if args['----'] == 0:
             status = -1
         else:
@@ -669,9 +669,9 @@
     attrs = {}
     args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fsup'), fr=None)
     _reply, args, attrs = finder.send("core", "getd", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise Error, aetools.decodeerror(args)
-    if args.has_key('----'):
+    if '----' in args:
         if args['----'] == 1:
             status = 0
     return status
@@ -689,7 +689,7 @@
     attrs = {}
     args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('trsh'), fr=None)
     _reply, args, attrs = finder.send("fndr", "empt", args, attrs)
-    if args.has_key('errn'):
+    if 'errn' in args:
         raise aetools.Error, aetools.decodeerror(args)