Hola,

Me contesto a mi mismo para que quede registrado.

Parece que el problema estaba en la base de datos y no en el código. He 
creado una nueva base de datos y no me da este problema.

Saludos,

El jueves, 13 de noviembre de 2014 16:07:47 UTC+1, jmartin escribió:
>
> Hola,
>
> Estoy desarrollando un módulo que necesita el registro de clases en el 
> Pool de Tryton de forma dinámica al estilo de como lo hace el módulo babi. 
> Para ello he tomado como modelo el propio módulo babi. No obstante, cada 
> vez que el programa llama al método __setup__() (aquí [1] lo podéis ver en 
> la línea 162 del archivo "/trytond/modules/survey/survey.py") de la clase 
> que acabo de crear, me sale el siguiente error [1]. ¿Habéis experimentado 
> alguna vez este error y, en caso afirmativo, a qué se debía?
>
> [1]
> Traceback (most recent call last):
>   File "/trytond/protocols/jsonrpc.py", line 150, in _marshaled_dispatch
>     response['result'] = dispatch_method(method, params)
>   File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch
>     res = dispatch(*args)
>   File "/trytond/protocols/dispatcher.py", line 161, in dispatch
>     result = rpc.result(meth(*c_args, **c_kwargs))
>   File "/trytond/model/modelview.py", line 496, in wrapper
>     return func(cls, *args, **kwargs)
>   File "/trytond/modules/survey/survey.py", line 255, in create_menus
>     survey.register_class()
>   File "/trytond/modules/survey/survey.py", line 162, in register_class
>     Class.__setup__()
>   File "/trytond/model/modelsql.py", line 39, in __setup__
>     super(ModelSQL, cls).__setup__()
>   File "/trytond/model/modelstorage.py", line 48, in __setup__
>     super(ModelStorage, cls).__setup__()
>   File "/trytond/model/modelview.py", line 101, in __setup__
>     super(ModelView, cls).__setup__()
>   File "/trytond/model/model.py", line 60, in __setup__
>     field = copy.deepcopy(field)
>   File "/copy.py", line 190, in deepcopy
>     y = _reconstruct(x, rv, 1, memo)
>   File "/copy.py", line 334, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/copy.py", line 163, in deepcopy
>     y = copier(x, memo)
>   File "/copy.py", line 257, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/copy.py", line 190, in deepcopy
>     y = _reconstruct(x, rv, 1, memo)
>   File "/copy.py", line 334, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/copy.py", line 163, in deepcopy
>     y = copier(x, memo)
>   File "/copy.py", line 257, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/copy.py", line 190, in deepcopy
>     y = _reconstruct(x, rv, 1, memo)
>   File "/copy.py", line 334, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/copy.py", line 163, in deepcopy
>     y = copier(x, memo)
>   File "/copy.py", line 257, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/copy.py", line 190, in deepcopy
>     y = _reconstruct(x, rv, 1, memo)
>   File "/copy.py", line 334, in _reconstruct
>     state = deepcopy(state, memo)
>   File "/copy.py", line 163, in deepcopy
>     y = copier(x, memo)
>   File "/copy.py", line 257, in _deepcopy_dict
>     y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/copy.py", line 190, in deepcopy
>     y = _reconstruct(x, rv, 1, memo)
>   File "/copy.py", line 329, in _reconstruct
>     y = callable(*args)
>   File "/copy_reg.py", line 93, in __newobj__
>     return cls.__new__(cls, *args)
> TypeError: object.__new__(thread.lock) is not safe, use 
> thread.lock.__new__()
>

Responder a