From 06818122ab0fcb3f2c4bd1c9b067a52dc948a5ad Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Mar 14 2017 13:51:28 +0000 Subject: [PATCH 1/2] stop mangling psycopg2.extensions --- diff --git a/koji/db.py b/koji/db.py index f7fe8e1..cc84f22 100644 --- a/koji/db.py +++ b/koji/db.py @@ -24,13 +24,13 @@ import logging import sys import psycopg2 -import psycopg2.extensions -# don't convert timestamp fields to DateTime objects -del psycopg2.extensions.string_types[1114] -del psycopg2.extensions.string_types[1184] -del psycopg2.extensions.string_types[1082] -del psycopg2.extensions.string_types[1083] -del psycopg2.extensions.string_types[1266] +# import psycopg2.extensions +# # don't convert timestamp fields to DateTime objects +# del psycopg2.extensions.string_types[1114] +# del psycopg2.extensions.string_types[1184] +# del psycopg2.extensions.string_types[1082] +# del psycopg2.extensions.string_types[1083] +# del psycopg2.extensions.string_types[1266] import time import traceback import context From 5f109a7855010e9d3bf45ff7627e047b9c8bec4e Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Mar 14 2017 16:18:05 +0000 Subject: [PATCH 2/2] return datetime objects in iso string format --- diff --git a/hub/kojixmlrpc.py b/hub/kojixmlrpc.py index 634e8e0..3515bd1 100644 --- a/hub/kojixmlrpc.py +++ b/hub/kojixmlrpc.py @@ -19,6 +19,7 @@ # Mike McLean from ConfigParser import RawConfigParser +import datetime import inspect import logging import os @@ -54,6 +55,12 @@ class Marshaller(xmlrpclib.Marshaller): write("\n") dispatch[types.GeneratorType] = dump_generator + def dump_datetime(self, value, write): + # For backwards compatibility, we return datetime objects as strings + value = value.isoformat(' ') + self.dump_string(value, write) + dispatch[datetime.datetime] = dump_datetime + xmlrpclib.Marshaller = Marshaller