Browse Source

Real fix for PEP8 errors

pull/41/head
lauris 10 years ago
parent
commit
c61521b3c3
  1. 47
      import_odbc/import_odbc.py

47
import_odbc/import_odbc.py

@ -36,30 +36,37 @@ class import_odbc_dbtable(orm.Model):
'name': fields.char('Datasource name', required=True, size=64), 'name': fields.char('Datasource name', required=True, size=64),
'enabled': fields.boolean('Execution enabled'), 'enabled': fields.boolean('Execution enabled'),
'dbsource_id': fields.many2one('base.external.dbsource', 'dbsource_id': fields.many2one('base.external.dbsource',
'Database source',required=True),
'Database source', required=True),
'sql_source': fields.text('SQL', required=True, 'sql_source': fields.text('SQL', required=True,
help='Column names must be valid "import_data" columns.'),
help='Column names must be valid \
"import_data" columns.'),
'model_target': fields.many2one('ir.model', 'Target object'), 'model_target': fields.many2one('ir.model', 'Target object'),
'noupdate': fields.boolean('No updates', 'noupdate': fields.boolean('No updates',
help="Only create new records;\ help="Only create new records;\
disable updates to existing records."), disable updates to existing records."),
'exec_order': fields.integer('Execution order', 'exec_order': fields.integer('Execution order',
help="Defines the order to perform the import"),
help="Defines the order to perform \
the import"),
'last_sync': fields.datetime('Last sync date', 'last_sync': fields.datetime('Last sync date',
help="Datetime for the last succesfull sync.\
\nLater changes on the source may not be replicated on \
the destination"),
help="Datetime for the last succesfull \
sync. \nLater changes on the source may \
not be replicated on the destination"),
'start_run': fields.datetime('Time started', readonly=True), 'start_run': fields.datetime('Time started', readonly=True),
'last_run': fields.datetime('Time ended', readonly=True), 'last_run': fields.datetime('Time ended', readonly=True),
'last_record_count': fields.integer('Last record count', readonly=True),
'last_record_count': fields.integer('Last record count',
readonly=True),
'last_error_count': fields.integer('Last error count', readonly=True), 'last_error_count': fields.integer('Last error count', readonly=True),
'last_warn_count': fields.integer('Last warning count', readonly=True), 'last_warn_count': fields.integer('Last warning count', readonly=True),
'last_log': fields.text('Last run log', readonly=True), 'last_log': fields.text('Last run log', readonly=True),
'ignore_rel_errors': fields.boolean('Ignore relationship errors', 'ignore_rel_errors': fields.boolean('Ignore relationship errors',
help="On error try to reimport rows ignoring relationships."),
help="On error try to reimport \
rows ignoring relationships."),
'raise_import_errors': fields.boolean('Raise import errors', 'raise_import_errors': fields.boolean('Raise import errors',
help="Import errors not handled, intended for debugging purposes.\
\nAlso forces debug messages to be written to the server log."),
help="Import errors not \
handled, intended for \
debugging purposes. \nAlso \
forces debug messages to be \
written to the server log."),
} }
_defaults = { _defaults = {
'enabled': True, 'enabled': True,
@ -110,7 +117,7 @@ class import_odbc_dbtable(orm.Model):
append_to_log(log, 'WARN', data, errmsg) append_to_log(log, 'WARN', data, errmsg)
log['last_warn_count'] += 1 log['last_warn_count'] += 1
# Try ignoring each many2one # Try ignoring each many2one
#(tip: in the SQL sentence select more problematic FKs first)
# (tip: in the SQL sentence select more problematic FKs first)
i = find_m2o(cols) i = find_m2o(cols)
if i >= 0: if i >= 0:
# Try again without the [i] column # Try again without the [i] column
@ -166,13 +173,15 @@ class import_odbc_dbtable(orm.Model):
obj.sql_source, params, metadata=True) obj.sql_source, params, metadata=True)
# Exclude columns titled "None"; add (xml_)"id" column # Exclude columns titled "None"; add (xml_)"id" column
cidx = [i for i, x in enumerate(res['cols']) if x.upper() != 'NONE']
cols = ([x for i, x in enumerate(res['cols']) if x.upper() != 'NONE']
+ ['id'])
cidx = ([i for i, x in enumerate(res['cols'])
if x.upper() != 'NONE'])
cols = ([x for i, x in enumerate(res['cols'])
if x.upper() != 'NONE'] + ['id'])
# Import each row: # Import each row:
for row in res['rows']: for row in res['rows']:
# Build data row; import only columns present in the "cols" list
# Build data row;
# import only columns present in the "cols" list
data = list() data = list()
for i in cidx: for i in cidx:
# TODO: Handle imported datetimes properly # TODO: Handle imported datetimes properly
@ -200,13 +209,15 @@ class import_odbc_dbtable(orm.Model):
if log['last_error_count']: if log['last_error_count']:
level = logging.ERROR level = logging.ERROR
_logger.log(level, _logger.log(level,
'Imported %s , %d rows, %d errors, %d warnings.' % (
model_name, log['last_record_count'], log['last_error_count'],
'Imported %s , %d rows, %d errors, %d warnings.' %
(model_name, log['last_record_count'],
log['last_error_count'],
log['last_warn_count'])) log['last_warn_count']))
# Write run log, either if the table import is active or inactive # Write run log, either if the table import is active or inactive
if log['last_log']: if log['last_log']:
log['last_log'].insert(0, log['last_log'].insert(0,
'LEVEL|== Line == |== Relationship ==|== Message ==')
'LEVEL|== Line == |== Relationship \
==|== Message ==')
log.update({'last_log': '\n'.join(log['last_log'])}) log.update({'last_log': '\n'.join(log['last_log'])})
log.update({'last_run': datetime.now().replace(microsecond=0)}) log.update({'last_run': datetime.now().replace(microsecond=0)})
self.write(cr, uid, [obj.id], log) self.write(cr, uid, [obj.id], log)

Loading…
Cancel
Save