[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kajongg/sid] src: remove Meld.joined, use str(meld) instead
From: Wolfgang Rohdewald <wolfgang () rohdewald ! de>
Date: 2013-10-31 21:21:12
Message-ID: E1Vbzg0-0002lj-7c () scm ! kde ! org
[Download RAW message or body]
Git commit 6aad4100106d02ce682acf9dbb3e9aac75136095 by Wolfgang Rohdewald.
Committed on 31/10/2013 at 11:40.
Pushed by wrohdewald into branch 'sid'.
remove Meld.joined, use str(meld) instead
M +2 -1 src/animation.py
M +4 -6 src/hand.py
M +3 -8 src/meld.py
M +1 -1 src/message.py
M +8 -8 src/player.py
M +1 -1 src/rulecode.py
M +3 -3 src/scoring.py
M +4 -4 src/server.py
http://commits.kde.org/kajongg/6aad4100106d02ce682acf9dbb3e9aac75136095
diff --git a/src/animation.py b/src/animation.py
index 32677e4..bfd09f5 100644
--- a/src/animation.py
+++ b/src/animation.py
@@ -95,7 +95,8 @@ class Animation(QPropertyAnimation):
def __str__(self):
"""for debug messages"""
- return '%s: %s->%s for %s' % (self.ident(), self.pName(), \
self.formatValue(self.endValue()), self.targetObject()) + return '%s: %s->%s \
for %s' % (self.ident(), self.pName(), + \
self.formatValue(self.endValue()), self.targetObject())
class ParallelAnimationGroup(QParallelAnimationGroup):
"""override __init__"""
diff --git a/src/hand.py b/src/hand.py
index 7527637..19de6fc 100644
--- a/src/hand.py
+++ b/src/hand.py
@@ -385,13 +385,13 @@ class Hand(object):
del meld[meld.index(tile.lower())]
del exposed[idx]
meld.conceal()
- hidden += meld.joined
+ hidden += str(meld)
break
for idx, meld in enumerate(exposed):
if len(meld) < 3:
del exposed[idx]
meld.conceal()
- hidden += meld.joined
+ hidden += str(meld)
mjStr = self.mjStr
if self.lastTile in tiles:
parts = mjStr.split()
@@ -550,16 +550,14 @@ class Hand(object):
arrangement = sorted(arrangements, key=lambda x: len(x[2]))[0]
self.melds.extend(arrangement[1])
self.melds.extend([Meld(x) for x in arrangement[2]])
- assert len(''.join(x.joined for x in self.melds)) == len(self.tileNames) \
* 2, '%s != %s' % (
- meldsContent(self.melds), self.tileNames)
else:
# stdMJ is special because it might build more than one pair
# the other special hands would put that into the rest
# if the above TODO is done, stdMJ does not have to be special anymore
melds, _ = stdMJ.rearrange(self, rest[:])
self.melds.extend(melds)
- assert len(''.join(x.joined for x in self.melds)) == len(self.tileNames) \
* 2, '%s != %s' % (
- meldsContent(self.melds), self.tileNames)
+ assert sum(len(x) for x in self.melds) == len(self.tileNames), '%s != %s' % \
( + meldsContent(self.melds), self.tileNames)
def countMelds(self, key):
"""count melds having key"""
diff --git a/src/meld.py b/src/meld.py
index e65077f..7baa646 100644
--- a/src/meld.py
+++ b/src/meld.py
@@ -53,11 +53,11 @@ def meldKey(meld):
"""for meld sorting.
To be used in sort() and sorted() as key=.
Sorts by tile (dwsbc), then by the whole meld"""
- return elementKey(meld[0]) + meld.joined
+ return elementKey(meld[0]) + str(meld)
def meldsContent(melds):
"""return content of melds"""
- return ' '.join([meld.joined for meld in melds])
+ return ' '.join([str(meld) for meld in melds])
class Meld(list):
"""represents a meld. Can be empty. Many Meld methods will
@@ -258,11 +258,6 @@ class Meld(list):
"""is it a kong?"""
return self.meldType in (KONG, CLAIMEDKONG)
- @property
- def joined(self):
- """content"""
- return ''.join(self)
-
def expose(self, isClaiming):
"""expose this meld. For kungs, leave one or two concealed,
showing how the kung was built"""
@@ -289,7 +284,7 @@ class Meld(list):
def __str__(self):
"""the content"""
- return self.joined
+ return ''.join(self)
def typeName(self):
"""convert int to speaking name with shortcut. ATTENTION: UNTRANSLATED!"""
diff --git a/src/message.py b/src/message.py
index a49e4ab..7e424ec 100644
--- a/src/message.py
+++ b/src/message.py
@@ -65,7 +65,7 @@ class Message(object):
if cls == Tile:
return str(value)
elif cls == Meld:
- return value.joined
+ return str(value)
elif isinstance(value, Message):
return value.name
elif isinstance(value, (list, tuple)):
diff --git a/src/player.py b/src/player.py
index 6ba0085..931098c 100644
--- a/src/player.py
+++ b/src/player.py
@@ -372,22 +372,22 @@ class Player(object):
melds = ['R' + ''.join(str(x) for x in self._concealedTileNames)]
if withTile:
melds[0] += withTile
- melds.extend(x.joined for x in self._exposedMelds)
- melds.extend(x.joined for x in self._concealedMelds)
+ melds.extend(str(x) for x in self._exposedMelds)
+ melds.extend(str(x) for x in self._concealedMelds)
melds.extend(str(x) for x in self._bonusTiles)
mjString = self.mjString(asWinner)
melds.append(mjString)
if mjString.startswith('M') and (withTile or self.lastTile):
- melds.append('L%s%s' % (withTile or self.lastTile, self.lastMeld.joined \
if self.lastMeld else '')) + melds.append('L%s%s' % (withTile or \
self.lastTile, self.lastMeld if self.lastMeld else '')) return Hand.cached(self, ' \
'.join(melds), robbedTile=robbedTile)
def scoringString(self):
"""helper for HandBoard.__str__"""
if self._concealedMelds:
- parts = [x.joined for x in self._concealedMelds + self._exposedMelds]
+ parts = [str(x) for x in self._concealedMelds + self._exposedMelds]
else:
parts = [''.join(self._concealedTileNames)]
- parts.extend([x.joined for x in self._exposedMelds])
+ parts.extend([str(x) for x in self._exposedMelds])
parts.extend(str(x) for x in self._bonusTiles)
return ' '.join(parts)
@@ -470,7 +470,7 @@ class PlayingPlayer(Player):
# the last claimed meld is exposed
assert lastMeld in melds, '%s: concealed=%s melds=%s lastMeld=%s \
lastTile=%s withDiscard=%s' % ( self._concealedTileNames, concealed,
- meldsContent(melds), lastMeld.joined(), lastTile, withDiscard)
+ meldsContent(melds), lastMeld, lastTile, withDiscard)
melds.remove(lastMeld)
self.lastTile = self.lastTile.lower()
lastMeld.toLower()
@@ -507,7 +507,7 @@ class PlayingPlayer(Player):
if self._concealedTileNames.count(tileName) == 4:
kongs.append([tileName] * 4)
elif self._concealedTileNames.count(tileName) == 1 and \
- tileName.lower() * 3 in list(x.joined for x in \
self._exposedMelds): + tileName.lower() * 3 in list(str(x) for \
x in self._exposedMelds): kongs.append([tileName.lower()] * 3 + [tileName])
if self.game.lastDiscard:
# claiming a kong
@@ -553,7 +553,7 @@ class PlayingPlayer(Player):
if Debug.robbingKong:
if move.message == Message.DeclaredKong:
game.debug('%s may rob the kong from %s/%s' % \
- (self, move.player, move.exposedMeld.joined))
+ (self, move.player, move.exposedMeld))
if Debug.mahJongg:
game.debug('%s may say MJ:%s, active=%s' % (
self, list(x for x in game.players), game.activePlayer))
diff --git a/src/rulecode.py b/src/rulecode.py
index 8e8206b..b0dd075 100644
--- a/src/rulecode.py
+++ b/src/rulecode.py
@@ -915,7 +915,7 @@ class StandardMahJongg(Function):
variantMelds = honourResult[:] + sum((x for x in combination if x is not \
None), []) melds = hand.melds[:] + variantMelds
melds.extend(hand.bonusMelds)
- _ = ' '.join(x.joined for x in melds) + ' ' + hand.mjStr
+ _ = ' '.join(str(x) for x in melds) + ' ' + hand.mjStr
tryHand = hand.cached(hand, _, computedRules=hand.computedRules)
if not bestHand or tryHand.total() > bestHand.total():
bestHand = tryHand
diff --git a/src/scoring.py b/src/scoring.py
index d3c3597..4509b66 100644
--- a/src/scoring.py
+++ b/src/scoring.py
@@ -1090,8 +1090,8 @@ class ScoringDialog(QWidget):
winner.handBoard.tilesByElement(element) \
[0].pixmapFromSvg(QSize(faceWidth, faceHeight), \
withBorders=False)) painter.translate(QPointF(faceWidth, 0.0))
- self.cbLastMeld.addItem(QIcon(pixMap), '', QVariant(meld.joined))
- if indexedMeld == meld.joined:
+ self.cbLastMeld.addItem(QIcon(pixMap), '', QVariant(str(meld)))
+ if indexedMeld == str(meld):
restoredIdx = self.cbLastMeld.count() - 1
if not restoredIdx and indexedMeld:
# try again, maybe the meld changed between concealed and exposed
@@ -1138,7 +1138,7 @@ class ScoringDialog(QWidget):
and lastTile in m]
assert len(winnerMelds)
if len(winnerMelds) == 1:
- self.cbLastMeld.addItem(QIcon(), '', \
QVariant(winnerMelds[0].joined)) + self.cbLastMeld.addItem(QIcon(), \
'', QVariant(str(winnerMelds[0]))) self.cbLastMeld.setCurrentIndex(0)
return
showCombo = True
diff --git a/src/server.py b/src/server.py
index c57132b..4113ce5 100644
--- a/src/server.py
+++ b/src/server.py
@@ -626,7 +626,7 @@ class ServerTable(Table):
hasTiles.remove(lastDiscard)
meld = Meld(meldTiles)
if len(meld) != 4 and meld.meldType not in [PAIR, PUNG, KONG, CHOW]:
- msg = m18nE('%1 wrongly said %2 for meld %3') + 'x:' + \
str(meld.meldType) + meld.joined + msg = m18nE('%1 wrongly said %2 for \
meld %3') + 'x:' + str(meld.meldType) + str(meld) self.abort(msg, player.name, \
claim.name, str(meld)) return
if not player.hasConcealedTiles(hasTiles):
@@ -662,13 +662,13 @@ class ServerTable(Table):
if not player.hasConcealedTiles(kongMeld) and not \
player.hasExposedPungOf(kongMeld[0]): # pylint: disable=star-args
msg = m18nE('declareKong:%1 wrongly said Kong for meld %2')
- args = (player.name, kongMeld.joined)
+ args = (player.name, str(kongMeld))
logDebug(m18n(msg, *args))
logDebug('declareKong:concealedTileNames:%s' % \
''.join(player.concealedTileNames)) logDebug('declareKong:concealedMelds:%s' % \
- ' '.join(x.joined for x in player.concealedMelds))
+ ' '.join(str(x) for x in player.concealedMelds))
logDebug('declareKong:exposedMelds:%s' % \
- ' '.join(x.joined for x in player.exposedMelds))
+ ' '.join(str(x) for x in player.exposedMelds))
self.abort(msg, *args)
return
player.exposeMeld(kongMeld)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic