Bugfixed Partial Import
bzr revid: fp@tinyerp.com-20080820124757-hq1zjhlskph54pva
This commit is contained in:
parent
062a9522ce
commit
649c027c16
|
@ -594,6 +594,9 @@ class orm_template(object):
|
|||
done = 0
|
||||
|
||||
initial_size = len(datas)
|
||||
if config.get('import_partial', False) and filename:
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
original_value = data['files'].get(filename, 0)
|
||||
counter = 0
|
||||
while len(datas):
|
||||
counter += 1
|
||||
|
@ -613,7 +616,7 @@ class orm_template(object):
|
|||
self.write(cr, uid, [id], translate[lang], context2)
|
||||
if config.get('import_partial', False) and filename and (not (counter%100)) :
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
data[filename] = initial_size - len(datas) + data.get(filename, 0)
|
||||
data['files'][filename] = initial_size - len(datas) + original_value
|
||||
pickle.dump(data, file(config.get('import_partial'),'wb'))
|
||||
cr.commit()
|
||||
|
||||
|
|
|
@ -729,17 +729,20 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
|||
reader = csv.reader(input, quotechar='"', delimiter=',')
|
||||
fields = reader.next()
|
||||
|
||||
fname_partial = ""
|
||||
if config.get('import_partial'):
|
||||
fname_partial = module + '/'+ fname
|
||||
if not os.path.isfile(config.get('import_partial')):
|
||||
pickle.dump({}, file(config.get('import_partial'),'w+'))
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
if fname_partial in data:
|
||||
if not data[fname_partial]:
|
||||
return
|
||||
else:
|
||||
for i in range(data[fname_partial]):
|
||||
reader.next()
|
||||
pickle.dump({'files':{},'ids':{module:idref}}, file(config.get('import_partial'),'w+'))
|
||||
else:
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
if fname_partial in data['files']:
|
||||
#idref.update(data['ids'][module])
|
||||
if not data['files'][fname_partial]:
|
||||
return
|
||||
else:
|
||||
for i in range(data['files'][fname_partial]):
|
||||
reader.next()
|
||||
|
||||
if not (mode == 'init' or 'id' in fields):
|
||||
return
|
||||
|
@ -754,7 +757,8 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
|||
|
||||
if config.get('import_partial'):
|
||||
data = pickle.load(file(config.get('import_partial')))
|
||||
data[fname_partial] = 0
|
||||
data['files'][fname_partial] = 0
|
||||
#data['ids'][module] = idref
|
||||
pickle.dump(data, file(config.get('import_partial'),'wb'))
|
||||
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue