-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I added error handing to jpoker getPlayerPlacesByName/playerLookup:
http://jpoker.aminche.com/hg/jpoker/rev/db1cf46ed760
and to the corresponding poker-network server side code (see new patch
attached).
Feel free to review and apply my changes.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: http://getfiregpg.org
iD4DBQFIvQ6XZmEdV9SHoe4RAjk6AJUTFHsGoEtr3uQdnZaXa3OItANOAJ9cuksw
3+VfXMIq1rI+kMk1wqqWMA==
=SP8A
-----END PGP SIGNATURE-----
On Tue, Sep 2, 2008 at 10:06 AM, Johan Euphrosine <[EMAIL PROTECTED]> wrote:
> Re-sending it to the list since it seems to have been ignored.
>
>
> ---------- Forwarded message ----------
> From: Johan Euphrosine <[EMAIL PROTECTED]>
> Date: Mon, Sep 1, 2008 at 4:46 PM
> Subject: jpoker player lookup
> To: Pokersource Users <[email protected]>
>
>
> Hi,
>
> I implemented player lookup plugin for jpoker, that allow searching for
> tables & tournaments, a given user is currently playing on:
> http://jspoker.pokersource.info/ideas.html#[[places%20should%20allow%
> 20player%20lookup]]
>
> I also added player_lookup element in skin.html
>
> Feel free to review and pull changes from:
> http://jpoker.aminche.com/hg/jpoker
>
> Please note that it also requires the attached modifications, server
> side.
> --
> Johan Euphrosine <[EMAIL PROTECTED]>
>
>
>
> --
> bou ^
>
--
bou ^
Index: pokernetwork/pokerpackets.py
===================================================================
--- pokernetwork/pokerpackets.py (revision 4402)
+++ pokernetwork/pokerpackets.py (working copy)
@@ -4022,6 +4022,7 @@
info = Packet.info + (
('serial', 0, 'I'),
+ ('name', '', 's'),
)
Packet.infoDeclare(globals(), PacketPokerGetPlayerPlaces, Packet, "POKER_GET_PLAYER_PLACES", 151) # 151 # 0x97 # %SEQ%
Index: pokernetwork/pokerservice.py
===================================================================
--- pokernetwork/pokerservice.py (revision 4402)
+++ pokernetwork/pokerservice.py (working copy)
@@ -1387,6 +1387,14 @@
return PacketPokerPlayerPlaces(serial = serial,
tables = tables,
tourneys = tourneys)
+
+ def getPlayerPlacesByName(self, name):
+ cursor = self.db.cursor()
+ cursor.execute("SELECT serial FROM users WHERE name = %s", name)
+ serial = cursor.fetchone()
+ if serial == None:
+ return PacketError(other_type = PACKET_POKER_PLAYER_PLACES)
+ return self.getPlayerPlaces(serial)
def getUserInfo(self, serial):
cursor = self.db.cursor(DictCursor)
Index: pokernetwork/pokeravatar.py
===================================================================
--- pokernetwork/pokeravatar.py (revision 4402)
+++ pokernetwork/pokeravatar.py (working copy)
@@ -347,7 +347,10 @@
return
if packet.type == PACKET_POKER_GET_PLAYER_PLACES:
- self.sendPacketVerbose(self.service.getPlayerPlaces(packet.serial))
+ if packet.serial != 0:
+ self.sendPacketVerbose(self.service.getPlayerPlaces(packet.serial))
+ else:
+ self.sendPacketVerbose(self.service.getPlayerPlacesByName(packet.name))
return
if packet.type == PACKET_POKER_GET_PLAYER_INFO:
Index: tests/test-pokeravatar.py.in
===================================================================
--- tests/test-pokeravatar.py.in (revision 4402)
+++ tests/test-pokeravatar.py.in (working copy)
@@ -2914,18 +2914,63 @@
self.assertEquals(1, len(packets))
packet = packets[0]
self.assertEquals(PACKET_POKER_PLAYER_PLACES, packet.type)
+ self.assertEquals([2], packet.tables)
+ return (client, packet)
+
+ # ------------------------------------------------------------------------
+ def getPlayerPlacesByName(self, (client, packet), id, name):
+ avatar = self.service.avatars[id]
+ avatar.queuePackets()
+ avatar.handlePacketLogic(PacketPokerGetPlayerPlaces(name = name))
+ packets = avatar.resetPacketsQueue()
+ self.assertEquals(1, len(packets))
+ packet = packets[0]
+ self.assertEquals(PACKET_POKER_PLAYER_PLACES, packet.type)
+ self.assertEquals([2], packet.tables)
+ return (client, packet)
+
+ def getPlayerPlacesNone(self, (client, packet), id, name):
+ avatar = self.service.avatars[id]
+ avatar.queuePackets()
+ avatar.handlePacketLogic(PacketPokerGetPlayerPlaces(name = name))
+ packets = avatar.resetPacketsQueue()
+ self.assertEquals(1, len(packets))
+ packet = packets[0]
+ self.assertEquals(PACKET_POKER_PLAYER_PLACES, packet.type)
self.assertEquals([], packet.tables)
return (client, packet)
+
+ def getPlayerPlacesFailed(self, (client, packet), id, name):
+ avatar = self.service.avatars[id]
+ avatar.queuePackets()
+ avatar.handlePacketLogic(PacketPokerGetPlayerPlaces(name = name))
+ packets = avatar.resetPacketsQueue()
+ self.assertEquals(1, len(packets))
+ packet = packets[0]
+ self.assertEquals(PACKET_ERROR, packet.type)
+ self.assertEquals(PACKET_POKER_PLAYER_PLACES, packet.other_type)
+ return (client, packet)
# ------------------------------------------------------------------------
def test69_getPlayerPlaces(self):
"""Test lookup of where the player is playing."""
- d = self.client_factory[0].established_deferred
- d.addCallback(self.sendExplain)
- d.addCallback(self.login, 0)
- d.addCallback(self.getPlayerPlaces, 0)
- return d
+ d1 = self.client_factory[0].established_deferred
+ d1.addCallback(self.sendExplain)
+ d1.addCallback(self.sendRolePlay)
+ d1.addCallback(self.login, 0)
+ d1.addCallback(self.joinTable, 0, 2, 'Table2', '2-4-limit')
+ d1.addCallback(self.seatTable, 0, 2)
+ d1.addCallback(self.getPlayerPlaces, 0, 1)
+ d1.addCallback(self.getPlayerPlacesByName, 0, 'user0')
+ d1.addCallback(self.getPlayerPlacesFailed, 0, 'user999')
+ d2 = self.client_factory[1].established_deferred
+ d2.addCallback(self.sendExplain)
+ d2.addCallback(self.sendRolePlay)
+ d2.addCallback(self.login, 1)
+ d2.addCallback(self.getPlayerPlacesNone, 1, 'user1')
+ return defer.DeferredList([d1, d2])
+
# ------------------------------------------------------------------------
def poll(self, (client, packet), id ):
avatar = self.service.avatars[id]
_______________________________________________
Pokersource-users mailing list
[email protected]
https://mail.gna.org/listinfo/pokersource-users