# ======================================================================= # $Source: /sources/gnumed/gnumed/gnumed/client/testing/test-psycopg2-datetime-systematic.py,v $ __version__ = "$Revision: 1.1 $" __author__ = "K.Hilbert " __license__ = 'GPL (details at http://www.gnu.org)' # ======================================================================= print "testing psycopg2 date/time parsing" import psycopg2 print "psycopg2:", psycopg2.__version__ #dsn = u'dbname=gnumed_v10 user=any-doc password=any-doc' dsn = u'dbname=test' print dsn conn = psycopg2.connect(dsn=dsn) curs = conn.cursor() cmd = u""" select name, abbrev, utc_offset::text, case when is_dst then 'DST' else 'non-DST' end from pg_timezone_names""" curs.execute(cmd) rows = curs.fetchall() curs.close() conn.rollback() for row in rows: curs = conn.cursor() tz = row[0] cmd = u"set timezone to '%s'" % tz try: curs.execute(cmd) except StandardError, e: print "cannot use time zone", row raise e curs.close() conn.rollback() continue cmd = u"""select '1920-01-19 23:00:00+01'::timestamp with time zone""" try: curs.execute(cmd) curs.fetchone() except StandardError, e: print "%s (%s / %s / %s) failed:" % (tz, row[1], row[2], row[3]) print " ", e curs.close() conn.rollback() conn.close() # ======================================================================= # $Log: test-psycopg2-datetime-systematic.py,v $ # Revision 1.1 2009/02/10 18:45:32 ncq # - psycopg2 cannot parse a bunch of settable time zones # # Revision 1.1 2009/02/10 13:57:03 ncq # - test for psycopg2 on Ubuntu-Intrepid #