[tryton-es] TypeError: object.__new__(thread.lock) is not safe, use thread.lock.__new__()
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__()
[tryton-es] Re: TypeError: object.__new__(thread.lock) is not safe, use thread.lock.__new__()
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__()
[tryton-es] Incomptatibilidad con módulo account_invoice_consecutive
Hola, Estoy desarrollando un módulo que permitiría asignar diferentes números de secuencia a facturas de cliente y de devolución de cliente en función del diario de ingresos asociado. A modo de ejemplo, imaginemos que tenemos dos tiendas y en cada una queremos tener una numeración diferente de la otra en función de su diario específico. Si tenemos instalado el módulo account_invoice_consecutive puede suceder que al no tener en cuenta que los diarios contables son distintos, detecte un número de secuencia anterior al que quiere asignar a la factura que estamos confirmando, pero que dicho número sea de una secuencia distinta, es decir, la secuencia de otro diario. El siguiente PR [1] solucionaría este problema sin necesidad de crear un módulo adicional para compatibilizar ambos. [1] https://bitbucket.org/trytonspain/trytond-account_invoice_consecutive/pull-request/1/add-journal-to-the-search-criteria-and/diff Saludos,
[tryton-es] Módulo impresión para tryton
Hola, Tengo que desarrollar un módulo de impresión para Tryton 3.0 y me preguntaba si ya existe algo similar desarrollado actualmente que se pueda aprovechar, o tengo que empezar desde cero migrando el módulo base_report_to_printer de OpenERP 6. Agradeceré cualquier sugerencia. Saludos,
[tryton-es] Liberación del módulo de contabilidad para PyMEs españolas para Tryton
Hola, Tengo el placer de comunicar la liberación del módulo account_es de contabilidad para la localización española de Tryton (versión trunk). Podéis encontrar el código fuente en aquíhttps://bitbucket.org/trytonspain/trytond-account_es_pyme. Nos gustaría que lo probaseis así como que nos hicieseis cuantas sugerencias de mejora se os ocurran. Éste módulo está desarrollado a partir de los ficheros xml del módulo de contabilidad española de OpenERP 6.0 por lo que se han conservado los nombres de las cuentas contables, impuestos, etc. Creemos que es importante no modificar los mismos en aras de facilitar la migración de bases de datos desde OpenERP hacia Tryton, hecho que nos gustaría que tuvieseis en cuenta a la hora de hacer vuestras propuestas de mejora. Creemos que es más fácil modificar un fichero editado desde una hoja de cálculo, que un fichero xml directamente, por lo que para la creación del módulo hemos desarrollado un script que nos permite, a partir de ficheros csv, generar los ficheros xml que contienen los datos de las plantillas. Podéis encontrar el código fuente del script de conversión y ficheros csv originales en aquíhttps://bitbucket.org/trytonspain/tryton-account_es_csv2xml/overview. La idea que subyace bajo este diseño es la de facilitar las posteriores modificaciones que desde el gobierno de turno se introduzcan tanto en la contabilidad como en los impuestos. Nada más, solamente desearos que os sea de utilidad. Saludos, -- tryton-es@googlegroups.com mailing list
[tryton-es] Módulo account_es
Hola, Tengo el placer de comunicar la liberación del módulo account_es de contabilidad para la localización española de Tryton (versión trunk). Podéis encontrar el código fuente en https://bitbucket.org/trytonspain/trytond-account_es/overview. Nos gustaría que lo probaseis así como que nos hicieseis cuantas sugerencias de mejora se os ocurran. Éste módulo está desarrollado a partir de los ficheros xml del módulo de contabilidad española de OpenERP 6.0 por lo que se han conservado los nombres de las cuentas contables, impuestos, etc. Creemos que es importante no modificar los mismos en aras de facilitar la migración de bases de datos desde OpenERP hacia Tryton, hecho que nos gustaría que tuvieseis en cuenta a la hora de hacer vuestras propuestas de mejora. Creemos que es más fácil modificar un fichero editado desde una hoja de cálculo, que un fichero xml directamente, por lo que para la creación del módulo hemos desarrollado un script que nos permite, a partir de ficheros csv, generar los ficheros xml que contienen los datos de las plantillas. Podéis encontrar el código fuente del script de conversión y ficheros csv originales en https://bitbucket.org/trytonspain/tryton-account_es_csv2xml/overview. La idea que subyace bajo dicho este diseño es la de facilitar las posteriores modificaciones que desde el gobierno de turno se introduzcan tanto en la contabilidad como en los impuestos. Nada más, solamente desearos que os sea de utilidad. Saludos, -- tryton-es@googlegroups.com mailing list