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