From 31d626e2c221e4641767d24f486eacbe246ae04b Mon Sep 17 00:00:00 2001 From: "Randall Castro - https://www.vauxoo.com" Date: Wed, 20 Mar 2024 04:10:39 -0600 Subject: [PATCH] [REF] auto_backup: Refactor command execution to new style/usage --- auto_backup/models/db_backup.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/auto_backup/models/db_backup.py b/auto_backup/models/db_backup.py index 66a3aa3..a1ec639 100644 --- a/auto_backup/models/db_backup.py +++ b/auto_backup/models/db_backup.py @@ -5,6 +5,7 @@ import shutil import json import tempfile +import subprocess from odoo import models, fields, api, tools, _ from odoo.exceptions import Warning, AccessDenied @@ -295,8 +296,8 @@ def _take_dump(self, db_name, stream, model, backup_format='zip'): db = odoo.sql_db.db_connect(db_name) with db.cursor() as cr: json.dump(self._dump_db_manifest(cr), fh, indent=4) - cmd.insert(-1, '--file=' + os.path.join(dump_dir, 'dump.sql')) - odoo.tools.exec_pg_command(*cmd) + cmd.append('--file=' + os.path.join(dump_dir, 'dump.sql')) + subprocess.run(cmd, check=True) if stream: odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') else: @@ -305,10 +306,11 @@ def _take_dump(self, db_name, stream, model, backup_format='zip'): t.seek(0) return t else: - cmd.insert(-1, '--format=c') - stdin, stdout = odoo.tools.exec_pg_command_pipe(*cmd) + cmd.append('--format=c') + process = subprocess.Popen(cmd,stdout=subprocess.PIPE) + stdout, _ = process.communicate() if stream: - shutil.copyfileobj(stdout, stream) + stream.write(stdout) else: return stdout