Merge pull request #38 from acsone/8.0-mig-account_export_csv-sbi
[8.0] migrate account_export_csvpull/40/head
commit
ae6f90f02d
|
@ -45,6 +45,6 @@
|
||||||
'wizard/account_export_csv_view.xml',
|
'wizard/account_export_csv_view.xml',
|
||||||
'menu.xml',
|
'menu.xml',
|
||||||
],
|
],
|
||||||
'installable': False,
|
'installable': True,
|
||||||
'active': False,
|
'active': False,
|
||||||
}
|
}
|
|
@ -23,8 +23,7 @@
|
||||||
|
|
||||||
import itertools
|
import itertools
|
||||||
import tempfile
|
import tempfile
|
||||||
import StringIO
|
from cStringIO import StringIO
|
||||||
import cStringIO
|
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
|
@ -43,7 +42,7 @@ class AccountUnicodeWriter(object):
|
||||||
|
|
||||||
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
|
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
|
||||||
# Redirect output to a queue
|
# Redirect output to a queue
|
||||||
self.queue = cStringIO.StringIO()
|
self.queue = StringIO()
|
||||||
# created a writer with Excel formating settings
|
# created a writer with Excel formating settings
|
||||||
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
|
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
|
||||||
self.stream = f
|
self.stream = f
|
||||||
|
@ -93,8 +92,6 @@ class AccountCSVExport(orm.TransientModel):
|
||||||
'journal_id',
|
'journal_id',
|
||||||
'Journals',
|
'Journals',
|
||||||
help='If empty, use all journals, only used for journal entries'),
|
help='If empty, use all journals, only used for journal entries'),
|
||||||
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscalyear',
|
|
||||||
required=True),
|
|
||||||
'export_filename': fields.char('Export CSV Filename', size=128),
|
'export_filename': fields.char('Export CSV Filename', size=128),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,7 +102,8 @@ class AccountCSVExport(orm.TransientModel):
|
||||||
|
|
||||||
def _get_fiscalyear_default(self, cr, uid, context=None):
|
def _get_fiscalyear_default(self, cr, uid, context=None):
|
||||||
fiscalyear_obj = self.pool['account.fiscalyear']
|
fiscalyear_obj = self.pool['account.fiscalyear']
|
||||||
context['company_id'] = self._get_company_default(cr, uid, context)
|
context = dict(context,
|
||||||
|
company_id=self._get_company_default(cr, uid, context))
|
||||||
return fiscalyear_obj.find(cr, uid, dt=None, exception=True,
|
return fiscalyear_obj.find(cr, uid, dt=None, exception=True,
|
||||||
context=context)
|
context=context)
|
||||||
|
|
||||||
|
@ -116,7 +114,7 @@ class AccountCSVExport(orm.TransientModel):
|
||||||
def action_manual_export_account(self, cr, uid, ids, context=None):
|
def action_manual_export_account(self, cr, uid, ids, context=None):
|
||||||
this = self.browse(cr, uid, ids)[0]
|
this = self.browse(cr, uid, ids)[0]
|
||||||
rows = self.get_data(cr, uid, ids, "account", context)
|
rows = self.get_data(cr, uid, ids, "account", context)
|
||||||
file_data = StringIO.StringIO()
|
file_data = StringIO()
|
||||||
try:
|
try:
|
||||||
writer = AccountUnicodeWriter(file_data)
|
writer = AccountUnicodeWriter(file_data)
|
||||||
writer.writerows(rows)
|
writer.writerows(rows)
|
||||||
|
@ -176,7 +174,7 @@ class AccountCSVExport(orm.TransientModel):
|
||||||
def action_manual_export_analytic(self, cr, uid, ids, context=None):
|
def action_manual_export_analytic(self, cr, uid, ids, context=None):
|
||||||
this = self.browse(cr, uid, ids)[0]
|
this = self.browse(cr, uid, ids)[0]
|
||||||
rows = self.get_data(cr, uid, ids, "analytic", context)
|
rows = self.get_data(cr, uid, ids, "analytic", context)
|
||||||
file_data = StringIO.StringIO()
|
file_data = StringIO()
|
||||||
try:
|
try:
|
||||||
writer = AccountUnicodeWriter(file_data)
|
writer = AccountUnicodeWriter(file_data)
|
||||||
writer.writerows(rows)
|
writer.writerows(rows)
|
||||||
|
@ -243,7 +241,7 @@ class AccountCSVExport(orm.TransientModel):
|
||||||
"""
|
"""
|
||||||
Here we use TemporaryFile to avoid full filling the OpenERP worker
|
Here we use TemporaryFile to avoid full filling the OpenERP worker
|
||||||
Memory
|
Memory
|
||||||
We also write the data to the wizard with SQL query as write seams
|
We also write the data to the wizard with SQL query as write seems
|
||||||
to use too much memory as well.
|
to use too much memory as well.
|
||||||
|
|
||||||
Those improvements permitted to improve the export from a 100k line to
|
Those improvements permitted to improve the export from a 100k line to
|
Loading…
Reference in New Issue