diff orpg/chat/chat_msg.py @ 0:4385a7d0efd1 grumpy-goblin

Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
author sirebral
date Tue, 14 Jul 2009 16:41:58 -0500
parents
children c54768cffbd4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/orpg/chat/chat_msg.py	Tue Jul 14 16:41:58 2009 -0500
@@ -0,0 +1,91 @@
+# Copyright (C) 2000-2001 The OpenRPG Project
+#
+#    openrpg-dev@lists.sourceforge.net
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# --
+#
+# File: chat_msg.py
+# Author: Ted Berg
+# Maintainer:
+# Version:
+#   $Id: chat_msg.py,v 1.15 2006/11/04 21:24:19 digitalxero Exp $
+#
+# Description: Contains class definitions for manipulating <chat/> messages
+#
+#
+
+__version__ = "$Id: chat_msg.py,v 1.15 2006/11/04 21:24:19 digitalxero Exp $"
+
+import orpg.orpg_xml
+from chat_version import CHAT_VERSION
+
+CHAT_MESSAGE = 1
+WHISPER_MESSAGE = 2
+EMOTE_MESSAGE = 3
+INFO_MESSAGE = 4
+SYSTEM_MESSAGE = 5
+WHISPER_EMOTE_MESSAGE = 6
+
+class chat_msg:
+    def __init__(self,xml_text="<chat type=\"1\" version=\""+CHAT_VERSION+"\" alias=\"\" ></chat>"):
+        self.chat_dom = None
+        self.takexml(xml_text)
+
+    def __del__(self):
+        if self.chat_dom:
+            self.chat_dom.unlink()
+
+    def toxml(self):
+        return orpg.orpg_xml.toxml(self.chat_dom)
+
+    def takexml(self,xml_text):
+        xml_dom = orpg.orpg_xml.parseXml(xml_text)
+        node_list = xml_dom.getElementsByTagName("chat")
+        if len(node_list) < 1:
+            print "Warning: no <chat/> elements found in DOM."
+        else:
+            if len(node_list) > 1:
+                print "Found more than one instance of <" + self.tagname + "/>.  Taking first one"
+            self.takedom(node_list[0])
+
+    def takedom(self,xml_dom):
+        if self.chat_dom:
+            self.text_node = None
+            self.chat_dom.unlink()
+        self.chat_dom = xml_dom
+        self.text_node = orpg.orpg_xml.safe_get_text_node(self.chat_dom)
+
+    def set_text(self,text):
+        text = orpg.orpg_xml.strip_text(text)
+        self.text_node._set_nodeValue(text)
+
+    def set_type(self,type):
+        self.chat_dom.setAttribute("type",str(type))
+
+    def get_type(self):
+        return int(self.chat_dom.getAttribute("type"))
+
+    def set_alias(self,alias):
+        self.chat_dom.setAttribute("alias",alias)
+
+    def get_alias(self):
+        return self.chat_dom.getAttribute("alias")
+
+    def get_text(self):
+        return self.text_node._get_nodeValue()
+
+    def get_version(self):
+        return self.chat_dom.getAttribute("version")