[wpdev-commits] xmlscripts/scripts/system pages.py,1.6,1.7
Brought to you by:
rip,
thiagocorrea
From: Sebastian H. <dar...@us...> - 2004-10-10 12:06:01
|
Update of /cvsroot/wpdev/xmlscripts/scripts/system In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2128/system Modified Files: pages.py Log Message: page system fixes Index: pages.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/system/pages.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** pages.py 8 Oct 2004 11:05:53 -0000 1.6 --- pages.py 10 Oct 2004 12:05:50 -0000 1.7 *************** *** 1,3 **** --- 1,4 ---- + from wolfpack import tr import wolfpack from wolfpack.consts import * *************** *** 58,66 **** """ def type(self): ! if self.category == 'BUG': return 0 ! elif self.category == 'STUCK': return 1 ! elif self.category == 'GAMEPLAY': return 2 else: --- 59,67 ---- """ def type(self): ! if self.category == tr('BUG'): return 0 ! elif self.category == tr('STUCK'): return 1 ! elif self.category == tr('GAMEPLAY'): return 2 else: *************** *** 68,71 **** --- 69,83 ---- """ + Gets a short version of the message from this page. + """ + def getmessage(self): + parts = [] + for part in self.message: + if len(part) != 0: + parts.append(part) + return "\n".join(parts) + + + """ Build a string for the database. """ *************** *** 93,99 **** if not updated: ! result = "New %s page from '%s' on account '%s':" % (self.category, char.name, self.account) else: ! result = "Updated %s page from '%s' on account '%s':" % (self.category, char.name, self.account) return result --- 105,111 ---- if not updated: ! result = tr("New %s page from '%s' on account '%s':") % (self.category, char.name, self.account) else: ! result = tr("Updated %s page from '%s' on account '%s':") % (self.category, char.name, self.account) return result *************** *** 115,128 **** if page: page.assigned = None ! player.socket.sysmessage('You requeue your previous page.', 0x846) ! player.log(LOG_MESSAGE, "%s requeues gm page from %s (%s).\n" % (player.name, char.name, self.account)) ! player.log(LOG_MESSAGE, "%s assigns gm page from %s (%s) to himself.\n" % (player.name, char.name, self.account)) self.assigned = player.serial ! player.socket.sysmessage('You assign the gm page to yourself.', 0x846) assigned = self.assigned == player.serial if not assigned and self.assigned: ! player.socket.sysmessage('This page is already assigned to someone else.', 0x846) return --- 127,140 ---- if page: page.assigned = None ! player.socket.sysmessage(tr('You requeue your previous page.'), 0x846) ! player.log(LOG_MESSAGE, tr("%s requeues gm page from %s (%s).\n") % (player.name, char.name, self.account)) ! player.log(LOG_MESSAGE, tr("%s assigns gm page from %s (%s) to himself.\n") % (player.name, char.name, self.account)) self.assigned = player.serial ! player.socket.sysmessage(tr('You assign the gm page to yourself.'), 0x846) assigned = self.assigned == player.serial if not assigned and self.assigned: ! player.socket.sysmessage(tr('This page is already assigned to someone else.'), 0x846) return *************** *** 136,158 **** # Gump Header gump.addGump( 165, 18, 0xFA2 ) ! gump.addText( 200, 20, "Page Menu", 0x530 ) ! gump.addText( 150, 400, "Category: %s" % self.category, 0x844 + 5 * self.type() ); gump.startPage(1) hue = 0x834 ! gump.addText( 50, 60, "Char name:", hue ) gump.addText( 200, 60, char.name, hue ) ! gump.addText( 50, 80, "Account name:", hue ) gump.addText( 200, 80, self.account, hue ) ! gump.addText( 50, 100, "Char position:", hue ) gump.addText( 200, 100, str(char.pos), hue ) ! gump.addText( 50, 120, "Page sent from:", hue ) gump.addText( 200, 120, str(self.pos), hue ) ! gump.addText( 50, 140, "Date/time:", hue ) gump.addText( 200, 140, time.strftime(FORMAT_DATETIME, time.localtime(self.created)), hue ) ! gump.addText( 50, 160, "Message:", hue ) html = u"<body text=\"#0000FF\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">%s</body>" % u"<br>".join(self.message) gump.addResizeGump( 45, 180, 0xBB8, 345, 84 ) --- 148,170 ---- # Gump Header gump.addGump( 165, 18, 0xFA2 ) ! gump.addText( 200, 20, tr("Page Menu"), 0x530 ) ! gump.addText( 150, 400, tr("Category: %s") % self.category, 0x844 + 5 * self.type() ); gump.startPage(1) hue = 0x834 ! gump.addText( 50, 60, tr("Char name:"), hue ) gump.addText( 200, 60, char.name, hue ) ! gump.addText( 50, 80, tr("Account name:"), hue ) gump.addText( 200, 80, self.account, hue ) ! gump.addText( 50, 100, tr("Char position:"), hue ) gump.addText( 200, 100, str(char.pos), hue ) ! gump.addText( 50, 120, tr("Page sent from:"), hue ) gump.addText( 200, 120, str(self.pos), hue ) ! gump.addText( 50, 140, tr("Date/time:"), hue ) gump.addText( 200, 140, time.strftime(FORMAT_DATETIME, time.localtime(self.created)), hue ) ! gump.addText( 50, 160, tr("Message:"), hue ) html = u"<body text=\"#0000FF\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">%s</body>" % u"<br>".join(self.message) gump.addResizeGump( 45, 180, 0xBB8, 345, 84 ) *************** *** 161,185 **** # Commands gump.addButton( 20, 280, 0xFA5, 0xFA7, 1 ) ! gump.addText( 55, 280, "Go to char position", 0x834 ) gump.addButton( 20, 300, 0xFA5, 0xFA71, 2 ) ! gump.addText( 55, 300, "Bring char", 0x834 ) gump.addButton( 20, 320, 0xFA5, 0xFA7, 3 ) ! gump.addText( 55, 320, "Go to page position", 0x834 ) gump.addButton( 20, 360, 0xFBD, 0xFBF, 4 ) if char.socket: ! gump.addText( 55, 360, "Send message:", 0x834 ) ! gump.addInputField( 200, 360, 190, 16, 0x834, 1, "<msg>" ) gump.addButton( 220, 280, 0xFAB, 0xFAD, 5 ) ! gump.addText( 255, 280, "Show socket info gump", 0x834 ) gump.addButton( 220, 300, 0xFA5, 0xFA7, 6 ) ! gump.addText( 255, 300, "Requeue page", 0x834 ) gump.addButton( 220, 320, 0xFA5, 0xFA7, 7 ) ! gump.addText( 255, 320, "Delete page", 0x834 ) # X button ! gump.addText( 70, 400, "Close", 0x834 ) gump.addButton( 30, 400, 0xFB1, 0xFB3, 0 ) --- 173,197 ---- # Commands gump.addButton( 20, 280, 0xFA5, 0xFA7, 1 ) ! gump.addText( 55, 280, tr("Go to char position"), 0x834 ) gump.addButton( 20, 300, 0xFA5, 0xFA71, 2 ) ! gump.addText( 55, 300, tr("Bring char"), 0x834 ) gump.addButton( 20, 320, 0xFA5, 0xFA7, 3 ) ! gump.addText( 55, 320, tr("Go to page position"), 0x834 ) gump.addButton( 20, 360, 0xFBD, 0xFBF, 4 ) if char.socket: ! gump.addText( 55, 360, tr("Send message:"), 0x834 ) ! gump.addInputField( 200, 360, 190, 16, 0x834, 1, tr("<msg>") ) gump.addButton( 220, 280, 0xFAB, 0xFAD, 5 ) ! gump.addText( 255, 280, tr("Show socket info gump"), 0x834 ) gump.addButton( 220, 300, 0xFA5, 0xFA7, 6 ) ! gump.addText( 255, 300, tr("Requeue page"), 0x834 ) gump.addButton( 220, 320, 0xFA5, 0xFA7, 7 ) ! gump.addText( 255, 320, tr("Delete page"), 0x834 ) # X button ! gump.addText( 70, 400, tr("Close"), 0x834 ) gump.addButton( 30, 400, 0xFB1, 0xFB3, 0 ) *************** *** 225,233 **** elif response.button == 4: if char.socket: ! char.socket.sysmessage('A message from %s: %s' % (player.name, response.text[1]), 0x846) ! player.socket.sysmessage('The message has been sent.', 0x846) else: ! player.socket.sysmessage('This player is currently offline. The message has not been sent.', 0x846) ! player.log(LOG_MESSAGE, "%s sends player %s (%s) a message: %s\n" % (player.name, char.name, self.account, response.text[1])) # Show socket info gump --- 237,245 ---- elif response.button == 4: if char.socket: ! char.socket.sysmessage(tr('A message from %s: %s') % (player.name, response.text[1]), 0x846) ! player.socket.sysmessage(tr('The message has been sent.'), 0x846) else: ! player.socket.sysmessage(tr('This player is currently offline. The message has not been sent.'), 0x846) ! player.log(LOG_MESSAGE, tr("%s sends player %s (%s) a message: %s\n") % (player.name, char.name, self.account, response.text[1])) # Show socket info gump *************** *** 236,246 **** commands.who.details(player, char) else: ! player.socket.sysmessage('This player is currently offline.', 0x846) # Requeue page elif response.button == 6: self.assigned = None ! player.socket.sysmessage('You requeue the page.', 0x846) ! player.log(LOG_MESSAGE, "%s requeues gm page from %s (%s).\n" % (player.name, char.name, self.account)) # Delete page --- 248,259 ---- commands.who.details(player, char) else: ! player.socket.sysmessage(tr('This player is currently offline.'), 0x846) # Requeue page elif response.button == 6: self.assigned = None ! player.socket.sysmessage(tr('You requeue the page.'), 0x846) ! player.log(LOG_MESSAGE, tr("%s requeues gm page from %s (%s).\n") % (player.name, char.name, self.account)) ! pages_gump(player) # Delete page *************** *** 251,258 **** if char.socket: ! char.socket.sysmessage('Your gm page has been deleted.', 0x846) ! player.socket.sysmessage('You remove the page.', 0x846) ! player.log(LOG_MESSAGE, "%s deletes gm page from %s (%s).\n" % (player.name, char.name, self.account)) # --- 264,272 ---- if char.socket: ! char.socket.sysmessage(tr('Your gm page has been deleted.'), 0x846) ! player.socket.sysmessage(tr('You remove the page.'), 0x846) ! player.log(LOG_MESSAGE, tr("%s deletes gm page from %s (%s).\n") % (player.name, char.name, self.account)) ! pages_gump(player) # *************** *** 346,352 **** if char: if updated: ! char.log(LOG_MESSAGE, "%s (%s) updates his gm page [%s]:\n%s\n" % (char.name, page.account, page.category, "\n".join(page.message))) else: ! char.log(LOG_MESSAGE, "%s (%s) makes a gm page [%s]:\n%s\n" % (char.name, page.account, page.category, "\n".join(page.message))) notification = page.notification(updated) --- 360,366 ---- if char: if updated: ! char.log(LOG_MESSAGE, tr("%s (%s) updates his gm page [%s]:\n%s\n") % (char.name, page.account, page.category, page.getmessage())) else: ! char.log(LOG_MESSAGE, tr("%s (%s) makes a gm page [%s]:\n%s\n") % (char.name, page.account, page.category, page.getmessage())) notification = page.notification(updated) *************** *** 389,398 **** if page and 5 in response.switches: pages.remove(page) ! char.socket.sysmessage('Your page has been removed.', 0x846) ! char.log(LOG_MESSAGE, "%s (%s) deletes his gm page.\n" % (char.name, page.account)) return if len(response.text[1]) + len(response.text[2]) + len(response.text[3]) + len(response.text[4]) == 0: ! char.socket.sysmessage('You have to enter a message for your page.', 0x846) onHelp(char) return --- 403,412 ---- if page and 5 in response.switches: pages.remove(page) ! char.socket.sysmessage(tr('Your page has been removed.'), 0x846) ! char.log(LOG_MESSAGE, tr("%s (%s) deletes his gm page.\n") % (char.name, page.account)) return if len(response.text[1]) + len(response.text[2]) + len(response.text[3]) + len(response.text[4]) == 0: ! char.socket.sysmessage(tr('You have to enter a message for your page.'), 0x846) onHelp(char) return *************** *** 408,418 **** page.created = created if 1 in response.switches: ! page.category = 'BUG' elif 2 in response.switches: ! page.category = 'STUCK' elif 3 in response.switches: ! page.category = 'GAMEPLAY' else: ! page.category = 'BUILD' pages.add(page, True) --- 422,432 ---- page.created = created if 1 in response.switches: ! page.category = tr('BUG') elif 2 in response.switches: ! page.category = tr('STUCK') elif 3 in response.switches: ! page.category = tr('GAMEPLAY') else: ! page.category = tr('BUILD') pages.add(page, True) *************** *** 438,444 **** gump.addGump( 182, 0, 0x589 ) # "Button" like gump gump.addGump( 193, 10, 0x15E9 ) # "Button" like gump ! gump.addText( 190, 90, "Help menu", 0x530 ) ! gump.addText( 50, 120, "Message:", 0x834 ) gump.addResizeGump( 45, 140, 0xBB8, 345, 84 ) --- 452,458 ---- gump.addGump( 182, 0, 0x589 ) # "Button" like gump gump.addGump( 193, 10, 0x15E9 ) # "Button" like gump ! gump.addText( 190, 90, tr("Help menu"), 0x530 ) ! gump.addText( 50, 120, tr("Message:"), 0x834 ) gump.addResizeGump( 45, 140, 0xBB8, 345, 84 ) *************** *** 459,480 **** gump.startGroup(1) ! gump.addText(50, 240, "Category:", 0x834) ! gump.addRadioButton( 50, 260, 0xD0, 0xD1, 1, category == 'BUG' ) ! gump.addText( 80, 260, 'BUG', 0x834 ) ! gump.addRadioButton( 250, 260, 0xD0, 0xD1, 2, category == 'STUCK' ) ! gump.addText( 280, 260, 'STUCK', 0x834 ) ! gump.addRadioButton( 50, 280, 0xD0, 0xD1, 3, category == 'GAMEPLAY' ) ! gump.addText( 80, 280, 'GAMEPLAY', 0x834 ) ! gump.addRadioButton( 250, 280, 0xD0, 0xD1, 4, category == 'BUILD' ) ! gump.addText( 280, 280, 'BUILD', 0x834 ) # Delete page if it exists if page: gump.addCheckbox( 50, 320, 0xd2, 0xd3, 5, 0 ) ! gump.addText( 80, 320, 'Delete page', 0x834 ) gump.addButton( 50, 320 + 40, 0xF9, 0xF8, 1 ) # OK button --- 473,494 ---- gump.startGroup(1) ! gump.addText(50, 240, tr("Category:"), 0x834) ! gump.addRadioButton( 50, 260, 0xD0, 0xD1, 1, category == tr('BUG') ) ! gump.addText( 80, 260, tr('BUG'), 0x834 ) ! gump.addRadioButton( 250, 260, 0xD0, 0xD1, 2, category == tr('STUCK') ) ! gump.addText( 280, 260, tr('STUCK'), 0x834 ) ! gump.addRadioButton( 50, 280, 0xD0, 0xD1, 3, category == tr('GAMEPLAY') ) ! gump.addText( 80, 280, tr('GAMEPLAY'), 0x834 ) ! gump.addRadioButton( 250, 280, 0xD0, 0xD1, 4, category == tr('BUILD') ) ! gump.addText( 280, 280, tr('BUILD'), 0x834 ) # Delete page if it exists if page: gump.addCheckbox( 50, 320, 0xd2, 0xd3, 5, 0 ) ! gump.addText( 80, 320, tr('Delete page'), 0x834 ) gump.addButton( 50, 320 + 40, 0xF9, 0xF8, 1 ) # OK button *************** *** 497,504 **** if response.button == 0: return # Show a detail gump for a given page. global pages ! id = response.button - 1 if id < 0 or id >= len(pages.pages): --- 511,526 ---- if response.button == 0: return + + page = arguments[0] + + if response.button == 1: + pages_gump(player, page - 1) # Previous page + + elif response.button == 2: + pages_gump(player, page + 1) # Next page # Show a detail gump for a given page. global pages ! id = response.button - 3 if id < 0 or id >= len(pages.pages): *************** *** 511,521 **** # Show a pages gump to the player. # ! def pages_gump(player): global pages pages.check() # Make sure all pages are valid gump = wolfpack.gumps.cGump() ! gump.startPage(0) # Gump Background --- 533,552 ---- # Show a pages gump to the player. # ! def pages_gump(player, i=0): ! player.socket.closegump(0x87bde41a) ! global pages pages.check() # Make sure all pages are valid + + count = (pages.count() + 4) / 5 + if count < 1: + count = 1 + + if i >= count or i < 0: + i = 0 gump = wolfpack.gumps.cGump() ! #gump.startPage(0) # Gump Background *************** *** 525,572 **** # Gump Header gump.addGump( 180, 18, 0xFA8 ) ! gump.addText( 215, 20, "Page Queue", 0x530 ) # Close Button ! gump.addText( 70, 320, "Close", 0x834 ) gump.addButton( 30, 320, 0xFB1, 0xFB3, 0 ) ! count = (pages.count() + 9) / 10 # Iterate this loop once for every page ! for i in range(0, count): ! gump.startPage(i + 1) ! offset = 0 ! ! for j in range(i * 10, i * 10 + 10): ! if j < pages.count(): ! page = pages.pages[j] ! pagetype = page.type() ! if not page.assigned: ! gump.addButton( 20, 60 + offset, 0xFA5, 0xFA7, 1 + j ) ! char = wolfpack.findchar(page.serial) ! if char.socket: ! gump.addText( 55, 60 + offset, "%s (%s)" % (char.name, page.account), 0x844 + 5 * pagetype ) ! gump.addText( 200, 60 + offset, page.category, 0x844 + 5 * pagetype ) ! gump.addText( 280, 60 + offset, time.strftime(FORMAT_DATETIME, time.localtime(page.created)), 0x844 + 5 * pagetype ) ! else: ! gump.addText( 55, 60 + offset, "%s (%s)" % (char.name, page.account), 2100 ) ! gump.addText( 200, 60 + offset, page.category, 2100 ) ! gump.addText( 280, 60 + offset, time.strftime(FORMAT_DATETIME, time.localtime(page.created)), 21000 ) ! ! offset += 20 ! gump.addText( 280, 320, "Page %u of %u" % ( i + 1, count ), 0x834 ) ! # Are we on the first page ! if i > 0: ! gump.addPageButton( 240, 320, 0x0FC, 0x0FC, i - 1 ) ! # Would the next page be valid? ! if i + 1 < count: ! gump.addPageButton( 260, 320, 0x0FA, 0x0FA, i + 2 ) gump.setCallback("system.pages.pages_gump_response") gump.send(player.socket) --- 556,604 ---- # Gump Header gump.addGump( 180, 18, 0xFA8 ) ! gump.addText( 215, 20, tr("Page Queue"), 0x530 ) # Close Button ! gump.addText( 70, 320, tr("Close"), 0x834 ) gump.addButton( 30, 320, 0xFB1, 0xFB3, 0 ) ! display = pages.pages[i * 5:][:5] # 5 pages ! pageid = i * 5 ! offset = 0 # Iterate this loop once for every page ! for page in display: ! pagetype = page.type() ! if not page.assigned: ! gump.addButton( 20, 70 + offset, 0xFA5, 0xFA7, 3 + pageid ) ! char = wolfpack.findchar(page.serial) ! if char.socket: ! gump.addText( 55, 60 + offset, tr("Char: ") + char.name, 0x844 + 5 * pagetype ) ! gump.addText( 55, 80 + offset, tr("Account: ") + page.account, 0x844 + 5 * pagetype ) ! gump.addText( 275, 80 + offset, tr("Category: ") + page.category, 0x844 + 5 * pagetype ) ! gump.addText( 275, 60 + offset, tr("Time: ") + time.strftime(FORMAT_DATETIME, time.localtime(page.created)), 0x844 + 5 * pagetype ) ! else: ! gump.addText( 55, 60 + offset, tr("Char: ") + char.name, 2100 ) ! gump.addText( 55, 80 + offset, tr("Account: ") + page.account, 2100 ) ! gump.addText( 300, 80 + offset, tr("Category: ") + page.category, 2100 ) ! gump.addText( 300, 60 + offset, tr("Time: ") + time.strftime(FORMAT_DATETIME, time.localtime(page.created)), 2100 ) ! ! offset += 50 ! pageid += 1 ! gump.addText( 280, 320, tr("Page %u of %u") % ( i + 1, count ), 0x834 ) ! # Are we on the first page ! if i > 0: ! gump.addButton( 240, 320, 0x0FA, 0x0FA, 1 ) ! # Would the next page be valid? ! if i + 1 < count: ! gump.addButton( 260, 320, 0x0FC, 0x0FC, 2 ) + gump.setArgs([i]) + gump.setType(0x87bde41a) gump.setCallback("system.pages.pages_gump_response") gump.send(player.socket) *************** *** 592,595 **** --- 624,628 ---- def onLoad(): global pages + global page pages = Pages() wolfpack.registerglobal(EVENT_HELP, "system.pages") *************** *** 598,602 **** if not wolfpack.isstarting(): pages.load() ! # # Server startup complete --- 631,635 ---- if not wolfpack.isstarting(): pages.load() ! # # Server startup complete |