public inbox for [email protected]
help / color / mirror / Atom feedFrom: Khushboo Vashi <[email protected]>
To: Dave Page <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: [pgAdmin4][Patch] : Fix PG utilities with Python 2.6
Date: Fri, 15 Jun 2018 19:25:06 +0530
Message-ID: <CAFOhELeXgn9iW63ObkVoVjYUNoEEo_czZo3m3Uxj9Ra_98joyw@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxoxGpELwiPQdw3rcyQXj5RCa39R7GSK5=Ds7LKaJRhBcdQ@mail.gmail.com>
References: <CAFOhELdCNni62Vrr8swrJ7ySHNSfdEuGNtHLy8yLisZ5BGwM0w@mail.gmail.com>
<CA+OCxoxGpELwiPQdw3rcyQXj5RCa39R7GSK5=Ds7LKaJRhBcdQ@mail.gmail.com>
Hi Dave,
Please find the attached patch for PG utilities - PY 2.6.
Thanks,
Khushboo
On Fri, Jun 15, 2018 at 5:08 PM, Dave Page <[email protected]> wrote:
> Thanks, applied.
>
> On Fri, Jun 15, 2018 at 12:27 PM, Khushboo Vashi <
> [email protected]> wrote:
>
>> Hi,
>>
>> Please find the attached patch which fixes the PG utilities with python
>> 2.6.
>>
>> Thanks,
>> Khushboo
>>
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
Attachments:
[text/x-patch] pg_utilities_fix_ver2.patch (4.0K, 3-pg_utilities_fix_ver2.patch)
download | inline diff:
diff --git a/web/pgadmin/misc/bgprocess/processes.py b/web/pgadmin/misc/bgprocess/processes.py
index cb98291..c6151e3 100644
--- a/web/pgadmin/misc/bgprocess/processes.py
+++ b/web/pgadmin/misc/bgprocess/processes.py
@@ -463,7 +463,7 @@ class BatchProcess(object):
stime = parser.parse(self.stime)
etime = parser.parse(self.etime or get_current_time())
- execution_time = (etime - stime).total_seconds()
+ execution_time = BatchProcess.total_seconds(etime - stime)
if process_output:
out, out_completed = read_log(
@@ -558,7 +558,7 @@ class BatchProcess(object):
stime = parser.parse(p.start_time)
etime = parser.parse(p.end_time or get_current_time())
- execution_time = (etime - stime).total_seconds()
+ execution_time = BatchProcess.total_seconds(etime - stime)
desc = ""
try:
desc = loads(p.desc.encode('latin-1')) if \
@@ -601,6 +601,16 @@ class BatchProcess(object):
return res
@staticmethod
+ def total_seconds(dt):
+ # Keep backward compatibility with Python 2.6 which doesn't have
+ # this method
+ if hasattr(dt, 'total_seconds'):
+ return dt.total_seconds()
+ else:
+ return (dt.microseconds + (dt.seconds + dt.days * 24 * 3600) *
+ 10**6) / 10**6
+
+ @staticmethod
def acknowledge(_pid):
"""
Acknowledge from the user, he/she has alredy watched the status.
diff --git a/web/pgadmin/tools/backup/tests/test_batch_process.py b/web/pgadmin/tools/backup/tests/test_batch_process.py
index b020819..25342d4 100644
--- a/web/pgadmin/tools/backup/tests/test_batch_process.py
+++ b/web/pgadmin/tools/backup/tests/test_batch_process.py
@@ -119,7 +119,10 @@ class BatchProcessTest(BaseTestGenerator):
current_app_mock.PGADMIN_RUNTIME = False
def db_session_add_mock(j):
- cmd_obj = loads(j.desc)
+ if sys.version_info < (2, 7):
+ cmd_obj = loads(str(j.desc))
+ else:
+ cmd_obj = loads(j.desc)
self.assertTrue(isinstance(cmd_obj, IProcessDesc))
self.assertEqual(cmd_obj.backup_type, self.class_params['type'])
self.assertEqual(cmd_obj.bfile, self.class_params['bfile'])
diff --git a/web/pgadmin/tools/maintenance/tests/test_batch_process_maintenance.py b/web/pgadmin/tools/maintenance/tests/test_batch_process_maintenance.py
index f785c87..3700d96 100644
--- a/web/pgadmin/tools/maintenance/tests/test_batch_process_maintenance.py
+++ b/web/pgadmin/tools/maintenance/tests/test_batch_process_maintenance.py
@@ -73,7 +73,10 @@ class BatchProcessTest(BaseTestGenerator):
self.port = port
def db_session_add_mock(j):
- cmd_obj = loads(j.desc)
+ if sys.version_info < (2, 7):
+ cmd_obj = loads(str(j.desc))
+ else:
+ cmd_obj = loads(j.desc)
self.assertTrue(isinstance(cmd_obj, IProcessDesc))
self.assertEqual(cmd_obj.query, self.class_params['cmd'])
self.assertEqual(cmd_obj.message, self.expected_msg)
diff --git a/web/pgadmin/tools/restore/tests/test_batch_process.py b/web/pgadmin/tools/restore/tests/test_batch_process.py
index ea33af2..8bc5ede 100644
--- a/web/pgadmin/tools/restore/tests/test_batch_process.py
+++ b/web/pgadmin/tools/restore/tests/test_batch_process.py
@@ -64,7 +64,10 @@ class BatchProcessTest(BaseTestGenerator):
current_app_mock.PGADMIN_RUNTIME = False
def db_session_add_mock(j):
- cmd_obj = loads(j.desc)
+ if sys.version_info < (2, 7):
+ cmd_obj = loads(str(j.desc))
+ else:
+ cmd_obj = loads(j.desc)
self.assertTrue(isinstance(cmd_obj, IProcessDesc))
self.assertEqual(cmd_obj.bfile, self.class_params['bfile'])
self.assertEqual(cmd_obj.cmd,
view thread (4+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: [pgAdmin4][Patch] : Fix PG utilities with Python 2.6
In-Reply-To: <CAFOhELeXgn9iW63ObkVoVjYUNoEEo_czZo3m3Uxj9Ra_98joyw@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox