[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