[IMP] sql_export: black, isort, prettier

This commit is contained in:
Florian da Costa
2021-03-22 16:15:37 +01:00
committed by David Beal
parent 27c69271ac
commit e7f482ab37
9 changed files with 306 additions and 205 deletions

View File

@@ -1,70 +1,77 @@
# Copyright (C) 2015 Akretion (<http://www.akretion.com>)
# @author: Florian da Costa
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields
from odoo import fields, models
class SqlExport(models.Model):
_name = "sql.export"
_inherit = ['sql.request.mixin']
_inherit = ["sql.request.mixin"]
_description = "SQL export"
_sql_request_groups_relation = 'groups_sqlquery_rel'
_sql_request_groups_relation = "groups_sqlquery_rel"
_sql_request_users_relation = 'users_sqlquery_rel'
_sql_request_users_relation = "users_sqlquery_rel"
_check_execution_enabled = False
copy_options = fields.Char(
string='Copy Options', required=False,
default="CSV HEADER DELIMITER ';'")
string="Copy Options", required=False, default="CSV HEADER DELIMITER ';'"
)
file_format = fields.Selection(
[('csv', 'CSV')],
default='csv',
required=True)
file_format = fields.Selection([("csv", "CSV")], default="csv", required=True)
field_ids = fields.Many2many(
'ir.model.fields',
'fields_sqlquery_rel',
'sql_id',
'field_id',
'Parameters',
domain=[('model', '=', 'sql.file.wizard')])
"ir.model.fields",
"fields_sqlquery_rel",
"sql_id",
"field_id",
"Parameters",
domain=[("model", "=", "sql.file.wizard")],
)
encoding = fields.Selection(
[('utf-8', 'utf-8'), ('utf-16', 'utf-16'),
('windows-1252', 'windows-1252'), ('latin1', 'latin1'),
('latin2', 'latin2'), ('big5', 'big5'), ('gb18030', 'gb18030'),
('shift_jis', 'shift_jis'), ('windows-1251', 'windows-1251'),
('koir8_r', 'koir8_r')], string='Encoding', required=True,
default='utf-8')
[
("utf-8", "utf-8"),
("utf-16", "utf-16"),
("windows-1252", "windows-1252"),
("latin1", "latin1"),
("latin2", "latin2"),
("big5", "big5"),
("gb18030", "gb18030"),
("shift_jis", "shift_jis"),
("windows-1251", "windows-1251"),
("koir8_r", "koir8_r"),
],
string="Encoding",
required=True,
default="utf-8",
)
def export_sql_query(self):
self.ensure_one()
wiz = self.env['sql.file.wizard'].create({
'sql_export_id': self.id})
wiz = self.env["sql.file.wizard"].create({"sql_export_id": self.id})
return {
'view_mode': 'form',
'res_model': 'sql.file.wizard',
'res_id': wiz.id,
'type': 'ir.actions.act_window',
'target': 'new',
'context': self.env.context,
'nodestroy': True,
"view_mode": "form",
"res_model": "sql.file.wizard",
"res_id": wiz.id,
"type": "ir.actions.act_window",
"target": "new",
"context": self.env.context,
"nodestroy": True,
}
def _get_file_extension(self):
self.ensure_one()
if self.file_format == 'csv':
return 'csv'
if self.file_format == "csv":
return "csv"
def csv_get_data_from_query(self, variable_dict):
self.ensure_one()
# Execute Request
res = self._execute_sql_request(
params=variable_dict, mode='stdout',
copy_options=self.copy_options)
params=variable_dict, mode="stdout", copy_options=self.copy_options
)
if self.encoding:
res = res.decode(self.encoding)
return res