correct for timezone in PS summaries, too

This commit is contained in:
steffen123 2010-07-08 23:31:39 +02:00
parent d90fa27274
commit ce0d3f59f6
3 changed files with 19 additions and 16 deletions

View File

@ -33,6 +33,7 @@ def run(config, db):
#print "start of IS.run" #print "start of IS.run"
server=None server=None
#try: #try:
#print "useSSL",config.email.useSsl,"host",config.email.host
if config.email.useSsl: if config.email.useSsl:
server = IMAP4_SSL(config.email.host) server = IMAP4_SSL(config.email.host)
else: else:

View File

@ -20,7 +20,7 @@
from decimal import Decimal from decimal import Decimal
import datetime import datetime
from PokerStarsToFpdb import PokerStars import PokerStarsToFpdb
from TourneySummary import * from TourneySummary import *
class PokerStarsSummary(TourneySummary): class PokerStarsSummary(TourneySummary):
@ -58,6 +58,7 @@ class PokerStarsSummary(TourneySummary):
result=result.groupdict() result=result.groupdict()
datetimestr = "%s/%s/%s %s:%s:%s" % (result['Y'], result['M'],result['D'],result['H'],result['MIN'],result['S']) datetimestr = "%s/%s/%s %s:%s:%s" % (result['Y'], result['M'],result['D'],result['H'],result['MIN'],result['S'])
self.startTime= datetime.datetime.strptime(datetimestr, "%Y/%m/%d %H:%M:%S") # also timezone at end, e.g. " ET" self.startTime= datetime.datetime.strptime(datetimestr, "%Y/%m/%d %H:%M:%S") # also timezone at end, e.g. " ET"
self.startTime = PokerStarsToFpdb.removeET(self.startTime)
result=self.re_DateTime.search(lines[5]) result=self.re_DateTime.search(lines[5])
result=result.groupdict() result=result.groupdict()

View File

@ -26,6 +26,21 @@ from decimal import Decimal
# PokerStars HH Format # PokerStars HH Format
def removeET(time):
# approximate rules for ET daylight savings time:
if ( time.month == 12 # all of Dec
or (time.month == 11 and time.day > 4) # and most of November
or time.month < 3 # and all of Jan/Feb
or (time.month == 3 and time.day < 11) ): # and 1st 10 days of March
offset = datetime.timedelta(hours=5) # are EST: assume 5 hour offset (ET without daylight saving)
else:
offset = datetime.timedelta(hours=4) # rest is EDT: assume 4 hour offset (ET with daylight saving)
# adjust time into UTC:
time = time + offset
#print " tz = %s start = %s" % (tz, str(hand.starttime))
return time
#end def removeET
class PokerStars(HandHistoryConverter): class PokerStars(HandHistoryConverter):
# Class Variables # Class Variables
@ -227,7 +242,7 @@ class PokerStars(HandHistoryConverter):
#tz = a.group('TZ') # just assume ET?? #tz = a.group('TZ') # just assume ET??
#print " tz = ", tz, " datetime =", datetimestr #print " tz = ", tz, " datetime =", datetimestr
hand.startTime = datetime.datetime.strptime(datetimestr, "%Y/%m/%d %H:%M:%S") # also timezone at end, e.g. " ET" hand.startTime = datetime.datetime.strptime(datetimestr, "%Y/%m/%d %H:%M:%S") # also timezone at end, e.g. " ET"
self.removeET(hand) hand.startTime = removeET(hand.startTime)
if key == 'HID': if key == 'HID':
hand.handid = info[key] hand.handid = info[key]
if key == 'TOURNO': if key == 'TOURNO':
@ -268,20 +283,6 @@ class PokerStars(HandHistoryConverter):
# hand.currency = 'play' # overrides previously set value # hand.currency = 'play' # overrides previously set value
hand.gametype['currency'] = 'play' hand.gametype['currency'] = 'play'
def removeET(self, hand):
# approximate rules for ET daylight savings time:
if ( hand.startTime.month == 12 # all of Dec
or (hand.startTime.month == 11 and hand.starttime.day > 4) # and most of November
or hand.startTime.month < 3 # and all of Jan/Feb
or (hand.startTime.month == 3 and hand.starttime.day < 11) ): # and 1st 10 days of March
offset = datetime.timedelta(hours=5) # are EST: assume 5 hour offset (ET without daylight saving)
else:
offset = datetime.timedelta(hours=4) # rest is EDT: assume 4 hour offset (ET with daylight saving)
# adjust time into UTC:
hand.startTime = hand.startTime + offset
#print " tz = %s start = %s" % (tz, str(hand.starttime))
#end def removeET
def readButton(self, hand): def readButton(self, hand):
m = self.re_Button.search(hand.handText) m = self.re_Button.search(hand.handText)
if m: if m: