diff --git a/pyfpdb/Card.py b/pyfpdb/Card.py index ab6843c5..f126e1af 100755 --- a/pyfpdb/Card.py +++ b/pyfpdb/Card.py @@ -24,25 +24,37 @@ def twoStartCards(value1, suit1, value2, suit2): (y+2) represents rank of second card (2=2 .. 14=Ace) If x > y then pair is suited, if x < y then unsuited""" if value1 < 2 or value2 < 2: - return(0) - if (suit1 == suit2 and value1 < value2) or (suit1 != suit2 and value2 > value1): - return(13 * (value2-2) + (value1-1)) + ret = 0 + if value1 == value2: # pairs + ret = (13 * (value2-2) + (value2-1) ) + elif suit1 == suit2: + if value1 > value2: + ret = 13 * (value1-2) + (value2-1) + else: + ret = 13 * (value2-2) + (value1-1) else: - return(13 * (value1-2) + (value2-1)) + if value1 > value2: + ret = 13 * (value2-2) + (value2-1) + else: + ret = 13 * (value1-2) + (value2-1) + +# print "twoStartCards(", value1, suit1, value2, suit2, ")=", ret + return ret def twoStartCardString(card): """ Function to convert an int representing 2 holdem hole cards (as created by twoStartCards) into a string like AQo """ - if card <= 0: - return 'xx' - else: + ret = 'xx' + if card > 0: card -= 1 s = ('2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A') - x = card/13 - y = card - 13*x - if x == y: return(s[x] + s[y]) - elif x > y: return(s[x] + s[y] + 's') - else: return(s[y] + s[x] + 'o') + x = card / 13 + y = card - 13 * x + if x == y: ret = s[x] + s[y] + elif x > y: ret = s[x] + s[y] + 's' + else: ret = s[y] + s[x] + 'o' +# print "twoStartCardString(", card ,") = " + ret + return ret def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4): """ Function to convert 4 value,suit pairs into a Omaha style starting hand, @@ -95,4 +107,7 @@ def valueSuitFromCard(card): ][card] ) - +if __name__ == '__main__': + for i in xrange(1, 14): + print "card %2d = %s card %2d = %s card %2d = %s card %2d = %s" % \ + (i, valueSuitFromCard(i), i+13, valueSuitFromCard(i+13), i+26, valueSuitFromCard(i+26), i+39, valueSuitFromCard(i+39)) diff --git a/pyfpdb/EverleafToFpdb.py b/pyfpdb/EverleafToFpdb.py index 10468378..a7685f90 100755 --- a/pyfpdb/EverleafToFpdb.py +++ b/pyfpdb/EverleafToFpdb.py @@ -237,11 +237,14 @@ or None if we fail to get the info """ # Also works with Omaha hands. cards = m.group('CARDS') cards = [card.strip() for card in cards.split(',')] - hand.addHoleCards(cards, m.group('PNAME')) +# hand.addHoleCards(cards, m.group('PNAME')) + hand.addHoleCards('PREFLOP', hand.hero, closed=cards, shown=False, mucked=False, dealt=True) + else: #Not involved in hand hand.involved = False + def readStudPlayerCards(self, hand, street): # lol. see Plymouth.txt logging.warning("Everleaf readStudPlayerCards is only a stub.") @@ -292,7 +295,8 @@ or None if we fail to get the info """ cards = cards.split(', ') player = m.group('PNAME') logging.debug("readShownCards %s cards=%s" % (player, cards)) - hand.addShownCards(cards=None, player=m.group('PNAME'), holeandboard=cards) +# hand.addShownCards(cards=None, player=m.group('PNAME'), holeandboard=cards) + hand.addShownCards(cards=cards, player=m.group('PNAME')) diff --git a/pyfpdb/FulltiltToFpdb.py b/pyfpdb/FulltiltToFpdb.py index 3c95df2f..4fb0e8b3 100755 --- a/pyfpdb/FulltiltToFpdb.py +++ b/pyfpdb/FulltiltToFpdb.py @@ -33,25 +33,33 @@ class Fulltilt(HandHistoryConverter): -\s(?P\$|)? (?P[.0-9]+)/ \$?(?P[.0-9]+)\s - (Ante\s\$(?P[.0-9]+)\s)?-\s + (Ante\s\$?(?P[.0-9]+)\s)?-\s (?P(No\sLimit|Pot\sLimit|Limit))?\s - (?P(Hold\'em|Omaha\sHi|Omaha\sH/L|7\sCard\sStud|Stud\sH/L|Razz)) + (?P(Hold\'em|Omaha\sHi|Omaha\sH/L|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi)) ''', re.VERBOSE) re_SplitHands = re.compile(r"\n\n+") re_TailSplitHands = re.compile(r"(\n\n+)") re_HandInfo = re.compile('''.*\#(?P[0-9]+):\s (?:(?P.+)\s\((?P\d+)\),\s)? - Table\s(?P[-\s\da-zA-Z]+)\s + Table\s + (?PPlay\sChip\s|PC)? + (?P
[-\s\da-zA-Z]+)\s (\((?P.+)\)\s)?-\s - \$?(?P[.0-9]+)/\$?(?P[.0-9]+)\s(Ante\s\$(?P[.0-9]+)\s)?-\s + \$?(?P[.0-9]+)/\$?(?P[.0-9]+)\s(Ante\s\$?(?P[.0-9]+)\s)?-\s (?P[a-zA-Z\/\'\s]+)\s-\s (?P.*) ''', re.VERBOSE) re_Button = re.compile('^The button is in seat #(?P