diff --git a/pyfpdb/WinamaxSummary.py b/pyfpdb/WinamaxSummary.py
index cd71293a..e1d5b0ce 100644
--- a/pyfpdb/WinamaxSummary.py
+++ b/pyfpdb/WinamaxSummary.py
@@ -60,6 +60,7 @@ class WinamaxSummary(TourneySummary):
re_Prizepool = re.compile(u"""
.+: (?P
[0-9,]+)""")
re_DateTime = re.compile("\[(?P[0-9]{4})\/(?P[0-9]{2})\/(?P[0-9]{2})[\- ]+(?P[0-9]+):(?P[0-9]+):(?P[0-9]+)")
+ re_Ticket = re.compile(u""" / Ticket (?P[0-9.]+)€""")
codepage = ["utf-8"]
@@ -103,13 +104,23 @@ class WinamaxSummary(TourneySummary):
self.gametype['category'] = self.games[mg['GAME']][1]
for m in self.re_Player.finditer(str(tl[0])):
+ winnings = 0
mg = m.groupdict()
- #print mg
- winnings = mg['WINNINGS'].strip(u'€').replace(u',','.')
- winnings = int(100*Decimal(winnings))
rank = mg['RANK']
name = mg['PNAME']
- #print "DEBUG: %s: %s" %(name, winnings)
+ #print "DEUBG: mg: '%s'" % mg
+ is_satellite = self.re_Ticket.search(mg['WINNINGS'])
+ if is_satellite:
+ # Ticket
+ winnings = convert_to_decimal(is_satellite.groupdict()['VALUE'])
+ # For stallites, any ticket means 1st
+ if winnings > 0:
+ rank = 1
+ else:
+ winnings = convert_to_decimal(mg['WINNINGS'])
+
+ winnings = int(100*Decimal(winnings))
+ #print "DEBUG: %s) %s: %s" %(rank, name, winnings)
self.addPlayer(rank, name, winnings, self.currency, None, None, None)
@@ -117,3 +128,11 @@ class WinamaxSummary(TourneySummary):
mg = m.groupdict()
#print mg
self.tourNo = mg['TOURNO']
+
+def convert_to_decimal(string):
+ dec = string.strip(u'€€\u20ac')
+ dec = dec.replace(u',','.')
+ dec = dec.replace(u' ','')
+ dec = Decimal(dec)
+ return dec
+