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 ^
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%
@@ -4033,6 +4034,7 @@
info = Packet.info + (
('serial', 0, 'I'),
+ ('name', '', 's'),
('tables', [], 'Il'),
('tourneys', [], 'Il'),
)
Index: pokernetwork/pokerservice.py
===================================================================
--- pokernetwork/pokerservice.py (revision 4402)
+++ pokernetwork/pokerservice.py (working copy)
@@ -1387,6 +1387,17 @@
return PacketPokerPlayerPlaces(serial = serial,
tables = tables,
tourneys = tourneys)
+
+ def getPlayerPlacesByName(self, name):
+ cursor = self.db.cursor()
+ cursor.execute("SELECT table_serial FROM user2table, users WHERE user2table.user_serial = users.serial AND users.name = %s", name)
+ tables = map(lambda x: x[0], cursor.fetchall())
+ cursor.execute("SELECT tourney_serial FROM user2tourney, users WHERE user2tourney.user_serial = users.serial AND users.name = %s", name)
+ tourneys = map(lambda x: x[0], cursor.fetchall())
+ cursor.close()
+ return PacketPokerPlayerPlaces(name = name,
+ tables = tables,
+ tourneys = tourneys)
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,16 +2914,32 @@
self.assertEquals(1, len(packets))
packet = packets[0]
self.assertEquals(PACKET_POKER_PLAYER_PLACES, packet.type)
- self.assertEquals([], packet.tables)
+ 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 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.sendRolePlay)
d.addCallback(self.login, 0)
+ d.addCallback(self.joinTable, 0, 2, 'Table2', '2-4-limit')
+ d.addCallback(self.seatTable, 0, 2)
d.addCallback(self.getPlayerPlaces, 0)
+ d.addCallback(self.getPlayerPlacesByName, 0, 'user0')
return d
# ------------------------------------------------------------------------
_______________________________________________
Pokersource-users mailing list
[email protected]
https://mail.gna.org/listinfo/pokersource-users