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__() >
