REFACTOR: move timezone changing method to HHC so it can used by other parsers
This commit is contained in:
parent
b8968591c5
commit
522a745ead
|
@ -495,6 +495,23 @@ or None if we fail to get the info """
|
||||||
def getTourney(self):
|
def getTourney(self):
|
||||||
return self.tourney
|
return self.tourney
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def changeTimezone(time, givenTimezone, wantedTimezone):
|
||||||
|
if givenTimezone=="ET" and wantedTimezone=="UTC":
|
||||||
|
# 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 @staticmethod def changeTimezone
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getTableTitleRe(type, table_name=None, tournament = None, table_number=None):
|
def getTableTitleRe(type, table_name=None, tournament = None, table_number=None):
|
||||||
"Returns string to search in windows titles"
|
"Returns string to search in windows titles"
|
||||||
|
|
|
@ -21,6 +21,7 @@ from decimal import Decimal
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from Exceptions import FpdbParseError
|
from Exceptions import FpdbParseError
|
||||||
|
from HandHistoryConverter import *
|
||||||
import PokerStarsToFpdb
|
import PokerStarsToFpdb
|
||||||
from TourneySummary import *
|
from TourneySummary import *
|
||||||
|
|
||||||
|
@ -106,7 +107,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)
|
self.startTime = HandHistoryConverter.changeTimezone(self.startTime, "ET", "UTC")
|
||||||
currentLine+=1
|
currentLine+=1
|
||||||
|
|
||||||
result=self.re_DateTime.search(lines[currentLine])
|
result=self.re_DateTime.search(lines[currentLine])
|
||||||
|
|
|
@ -26,21 +26,6 @@ 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
|
||||||
|
@ -244,7 +229,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"
|
||||||
hand.startTime = removeET(hand.startTime)
|
hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, "ET", "UTC")
|
||||||
if key == 'HID':
|
if key == 'HID':
|
||||||
hand.handid = info[key]
|
hand.handid = info[key]
|
||||||
if key == 'TOURNO':
|
if key == 'TOURNO':
|
||||||
|
|
Loading…
Reference in New Issue
Block a user