diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 785d91d..0bbcf9f 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -469,7 +469,7 @@
         def get_owner(name):
             try:
                 return (name, self.bus.get_name_owner(name))
-            except:
+            except Exception:
                 traceback.print_exception(*sys.exc_info())
 
         if not owners:
@@ -541,14 +541,14 @@
 
             # Remove interfaces from a service that
             # aren't in a filter.
-            svc_map = lambda svc: (
+            svc_map = def svc: (
                 svc[0],
                 list(set(ifaces).intersection(svc[1])))
 
             # Remove services where no interfaces remain after mapping.
-            svc_filter = lambda svc: svc[1]
+            svc_filter = def svc: svc[1]
 
-            obj_map = lambda o: (
+            obj_map = def o: (
                 tuple(*filter(svc_filter, map(svc_map, [o]))))
 
             return dict(filter(lambda x: x, map(obj_map, item.iteritems())))
@@ -557,7 +557,7 @@
         if not ifaces:
             return dict(item)
 
-        obj_map = lambda x: (
+        obj_map = def x: (
             x[0],
             ObjectMapper.filter_interfaces(
                 x[1],
