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 <dp...@pgadmin.org> wrote: > Thanks, applied. > > On Fri, Jun 15, 2018 at 12:27 PM, Khushboo Vashi < > khushboo.va...@enterprisedb.com> 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 >
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,