diff --git a/pyfpdb/FulltiltToFpdb.py b/pyfpdb/FulltiltToFpdb.py index f520d079..30444353 100755 --- a/pyfpdb/FulltiltToFpdb.py +++ b/pyfpdb/FulltiltToFpdb.py @@ -89,7 +89,7 @@ class Fulltilt(HandHistoryConverter): [%(LS)s]?(?P[.0-9]+\sCap\s)? (?P[-\da-zA-Z\/\'\s]+)\s-\s (?P.*$) - (?P\(partial\))?\n + (?P\(partial\))?\s (?:.*?\n(?PHand\s\#(?P=HID)\shas\sbeen\scanceled))? ''' % substitutions, re.MULTILINE|re.VERBOSE) re_TourneyExtraInfo = re.compile('''(((?P[^$]+)? @@ -148,7 +148,7 @@ class Fulltilt(HandHistoryConverter): re_Mixed = re.compile(r'\s\-\s(?PHA|HORSE|HOSE)\s\-\s', re.VERBOSE) re_Max = re.compile("(?P\d+)( max)?", re.MULTILINE) # NB: if we ever match "Full Tilt Poker" we should also match "FullTiltPoker", which PT Stud erroneously exports. - re_DateTime = re.compile("""((?P[0-9]+):(?P[0-9]+):(?P[0-9]+)\s(?P\w+)\s-\s(?P[0-9]{4})\/(?P[0-9]{2})\/(?P[0-9]{2})|(?P

[0-9]+):(?P[0-9]+)\s(?P\w+)\s-\s\w+\,\s(?P\w+)\s(?P\d+)\,\s(?P[0-9]{4}))""", re.MULTILINE) + re_DateTime = re.compile("""((?P[0-9]+):(?P[0-9]+):(?P[0-9]+)\s(?P\w+)\s-\s(?P[0-9]{4})\/(?P[0-9]{2})\/(?P[0-9]{2})|(?P

[0-9]+):(?P[0-9]+)\s(?P\w+)\s-\s\w+\,\s(?P\w+)\s(?P\d+)\,\s(?P[0-9]{4}))(?P\s\(partial\))?""", re.MULTILINE) @@ -284,10 +284,13 @@ class Fulltilt(HandHistoryConverter): datetimestr = "%s/%s/%s %s:%s" % (a.group('Y2'), a.group('M2'),a.group('D2'),a.group('H2'),a.group('MIN2')) timezone = a.group('TZ2') hand.startTime = datetime.datetime.strptime(datetimestr, "%Y/%B/%d %H:%M") + if a.group('PARTIAL'): + raise FpdbParseError(hid=m.group('HID')) hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, timezone, "UTC") if m.group("CANCELLED") or m.group("PARTIAL"): + # It would appear this can't be triggered as DATETIME is a bit greedy raise FpdbParseError(hid=m.group('HID')) if m.group('TABLEATTRIBUTES'):