Mercurial > traipse_dev
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")