From 38bbcd13b7c808c47a63fee74bbef33a43ea6920 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 18 Apr 2011 09:00:24 +0000
Subject: [PATCH] Add some traceback informations in class/accessor generation
 code.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@45534 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Core/PropertySheet.py | 5 ++++-
 product/ERP5Type/dynamic/lazy_class.py | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Type/Core/PropertySheet.py b/product/ERP5Type/Core/PropertySheet.py
index 8e0b1d5145..394201e2ce 100644
--- a/product/ERP5Type/Core/PropertySheet.py
+++ b/product/ERP5Type/Core/PropertySheet.py
@@ -53,7 +53,9 @@ class PropertySheet(Folder):
     """
     Create a new accessor holder from the Property Sheet
     """
-    accessor_holder = AccessorHolderType(self.getId())
+    my_id = self.getId()
+    __traceback_info__ = my_id
+    accessor_holder = AccessorHolderType(my_id)
 
     self.applyOnAccessorHolder(accessor_holder, expression_context, portal)
 
@@ -183,6 +185,7 @@ class PropertySheet(Folder):
         property_definition_list.append(property_definition)
 
     for property_definition in property_definition_list:
+      __traceback_info__ = property_definition
       try:
         property_definition.applyOnAccessorHolder(accessor_holder,
                                                   expression_context,
diff --git a/product/ERP5Type/dynamic/lazy_class.py b/product/ERP5Type/dynamic/lazy_class.py
index d18344f82d..40baee4f40 100644
--- a/product/ERP5Type/dynamic/lazy_class.py
+++ b/product/ERP5Type/dynamic/lazy_class.py
@@ -266,6 +266,7 @@ class PortalTypeMetaClass(GhostBaseMetaClass, PropertyHolder):
     - mro after:
       erp5.portal_type.XXX, *new_bases_fetched_from_ZODB
     """
+    __traceback_info__ = cls.__name__
     # Do not load the class again if it has already been loaded
     if not cls.__isghost__:
       return
-- 
GitLab