Code review comment for lp:~dreis-pt/openobject-extension/base_external_dbsource-v7

Revision history for this message
David (dhecar) wrote :

Hi, Finally I found this

http://bazaar.launchpad.net/~openerp-community/openobject-extension/import_odbc_base_external_dbsource/
with revision 357.

I have changed some lines in order to work, but i'm not sure it's
correct.(See the diff.patch file)

Another error is when the cron job is running:

2013-05-25 10:50:57,144 27878 ERROR ? openerp.addons.base.ir.ir_cron: Call
of self.pool.get('import.odbc.dbtable').import_run(cr, uid, *()) failed in
Job 16
Traceback (most recent call last):
  File "/opt/openerp/server/openerp/addons/base/ir/ir_cron.py", line 146,
in _callback
    method(cr, uid, *args)
  File "/opt/openerp/server/openerp/addons/import_odbc/import_odbc.py",
line 120, in import_run
    actions = self.read(cr, uid, ids, ['id', 'exec_order'])
  File "/opt/openerp/server/openerp/osv/orm.py", line 3415, in read
    select = map(lambda x: isinstance(x, dict) and x['id'] or x, select)
TypeError: argument 2 to map() must support iteration

2013/5/25 Maxime Chambreuil (http://www.savoirfairelinux.com) <
<email address hidden>>

> @Daniel
>
> I have managed to test it. Everything is working well up to the point
> where I compute a KPI and execute a query against an external database
> (MySQL). I got this error message:
>
> Server Traceback (most recent call last):
> File "/home/max/openerp/web/7.0/addons/web/session.py", line 89, in send
> return openerp.netsvc.dispatch_rpc(service_name, method, args)
> File "/home/max/openerp/server/7.0/openerp/netsvc.py", line 292, in
> dispatch_rpc
> result = ExportService.getService(service_name).dispatch(method,
> params)
> File "/home/max/openerp/server/7.0/openerp/service/web_services.py",
> line 626, in dispatch
> res = fn(db, uid, *params)
> File "/home/max/openerp/server/7.0/openerp/osv/osv.py", line 188, in
> execute_kw
> return self.execute(db, uid, obj, method, *args, **kw or {})
> File "/home/max/openerp/server/7.0/openerp/osv/osv.py", line 131, in
> wrapper
> return f(self, dbname, *args, **kwargs)
> File "/home/max/openerp/server/7.0/openerp/osv/osv.py", line 197, in
> execute
> res = self.execute_cr(cr, uid, obj, method, *args, **kw)
> File "/home/max/openerp/server/7.0/openerp/osv/osv.py", line 185, in
> execute_cr
> return getattr(object, method)(cr, uid, *args, **kw)
> File
> "/home/max/openerp/mgmtsystem/7.0/mgmtsystem_kpi/mgmtsystem_kpi.py", line
> 294, in compute_kpi_value
> res = dbsrc_obj.execute(obj.kpi_code)
> File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 374, in
> function_proxy
> return attr(self._cr, self._uid, [self._id], *args, **kwargs)
> File
> "/home/max/openerp/local/base_external_dbsource/base_external_dbsource.py",
> line 140, in execute
> cur = conn.execute(sqlquery, sqlparams)
> File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
> 1449, in execute
> params)
> File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
> 1628, in _execute_text
> statement, parameters
> File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
> 1691, in _execute_context
> context)
> File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py",
> line 331, in do_execute
> cursor.execute(statement, parameters)
> File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in
> execute
> query = query % db.literal(args)
> TypeError: not all arguments converted during string formatting
>
> I will do further debugging tomorrow.
> --
>
> https://code.launchpad.net/~dreis-pt/openobject-extension/base_external_dbsource-v7/+merge/159673
> You are reviewing the proposed merge of
> lp:~dreis-pt/openobject-extension/base_external_dbsource-v7 into
> lp:openobject-extension.
>

--

*Serveis Informàtics a Pimes i Particulars*

- Manteniment de xarxes i servidors
- Reinstal·lacions de sistemes
- Desinfecció de virus
- Instal·lació de Linux
- Implementació d'Openerp (Gestió empresa)

http://sinergiainformatica.net

Tefl: 659 522 073

1--- /opt/MODULOS-6.1/import_odbc.py 2013-05-15 08:23:59.158992062 +0000
2+++ /opt/MODULOS-6.1/import_odbc_base_external_dbsource/import_odbc/import_odbc.py 2013-05-13 09:58:18.978992838 +0000
3@@ -134,7 +134,7 @@
4 model_name = obj.model_target.model
5 model_obj = self.pool.get(model_name)
6 xml_prefix = model_name.replace('.', '_') + "_id_"
7- log = {'start_run': datetime.now().replace(microsecond=0),
8+ log = {'start_run': datetime.today().replace(microsecond=0),
9 'last_run': None,
10 'last_record_count': 0,
11 'last_error_count': 0,
12@@ -144,7 +144,7 @@
13
14 #Prepare SQL sentence; replace "%s" with the last_sync date
15 if obj.last_sync: sync = datetime.strptime(obj.last_sync, "%Y-%m-%d %H:%M:%S")
16- else: sync = datetime.datetime(1900, 1, 1, 0, 0, 0)
17+ else: sync = datetime(1900, 1, 1, 0, 0, 0)
18 params = {'sync': sync}
19 res = db_model.execute(cr, uid, [obj.dbsource_id.id], obj.sql_source, params, metadata=True)
20
21@@ -183,7 +183,7 @@
22 if log['last_log']:
23 log['last_log'].insert(0, 'LEVEL|== Line == |== Relationship ==|== Message ==')
24 log.update( {'last_log': '\n'.join(log['last_log'])} )
25- log.update({ 'last_run': datetime.now().replace(microsecond=0) }) #second=0,
26+ log.update({ 'last_run': datetime.today().replace(microsecond=0) }) #second=0,
27 self.write(cr, uid, [obj.id], log)
28 #Finished
29 _logger.debug('Import job FINISHED.')

« Back to merge proposal