From d44b936a4037e50e6b142e024c92660b39476f8d Mon Sep 17 00:00:00 2001
From: Matteo Bertini <naufraghi@develer.com>
Date: Mon, 14 May 2012 12:43:31 +0200
Subject: [PATCH] Add support for custom lambda stringifier

---
 pudb/var_view.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/pudb/var_view.py b/pudb/var_view.py
index 5e0611a..d67c334 100644
--- a/pudb/var_view.py
+++ b/pudb/var_view.py
@@ -216,8 +216,14 @@ def get_stringifier(iinfo):
     else:
         try:
             if not custom_stringifier_dict: # Only execfile once
-                from os.path import expanduser
-                execfile(expanduser(iinfo.display_type), custom_stringifier_dict)
+                from os.path import expanduser, exists
+                filename = expanduser(iinfo.display_type)
+                if exists(filename):
+                    execfile(filename, custom_stringifier_dict)
+                elif iinfo.display_type.startswith('lambda'):
+                    pudb_stringifier = eval(iinfo.display_type)
+                    if callable(pudb_stringifier):
+                        custom_stringifier_dict['pudb_stringifier'] = pudb_stringifier
         except:
             print "Error when importing custom stringifier:"
             from traceback import print_exc
-- 
1.7.5.4

