comparison orpg/networking/mplay_messaging.py @ 135:dcf4fbe09b70 beta

Traipse Beta 'OpenRPG' {091010-00} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary (Beta) Added Bookmarks Fix to Remote Admin Commands Minor fix to text based Server Fix to Pretty Print, from Core Fix to Splitter Nodes not being created Fix to massive amounts of images loading, from Core Added 'boot' command to remote admin Added confirmation window for sent nodes Minor changes to allow for portability to an OpenSUSE linux OS Miniatures Layer pop up box allows users to turn off Mini labels, from FlexiRPG Zoom Mouse plugin added Images added to Plugin UI Switching to Element Tree Map efficiency, from FlexiRPG Added Status Bar to Update Manager default_manifest.xml renamed to default_upmana.xml Cleaner clode for saved repositories New TrueDebug Class in orpg_log (See documentation for usage) Mercurial's hgweb folder is ported to upmana **Pretty important update that can help remove thousands of dead children from your gametree. **Children, <forms />, <group_atts />, <horizontal />, <cols />, <rows />, <height />, etc... are all tags now. Check your gametree and look for dead children!! **New Gamtree Recusion method, mapping, and context sensitivity. !!Alpha - Watch out for infinite loops!!
author sirebral
date Tue, 10 Nov 2009 14:11:28 -0600
parents 7ed4979cc1cf
children 06f10429eedc
comparison
equal deleted inserted replaced
101:394ebb3b6a0f 135:dcf4fbe09b70
65 self.sendThreadExitEvent = Event() 65 self.sendThreadExitEvent = Event()
66 self.recvThreadExitEvent = Event() 66 self.recvThreadExitEvent = Event()
67 self.port = int(component.get("settings").get_setting("port")) ##used even? 67 self.port = int(component.get("settings").get_setting("port")) ##used even?
68 self.ip = socket.gethostbyname(socket.gethostname()) 68 self.ip = socket.gethostbyname(socket.gethostname())
69 self.lensize = calcsize('i') 69 self.lensize = calcsize('i')
70 self.mplay_type = ('disconnected', 'connected', 'disconnecting', 'group change', 'group change failed') 70 self.mplay_type = ('disconnected', 'connected',
71 'disconnecting', 'group change', 'group change failed')
71 self.status = self.mplay_type[0] 72 self.status = self.mplay_type[0]
72 self.alive = False 73 self.alive = False
73 self.sock = None 74 self.sock = None
74 self.version = VERSION 75 self.version = VERSION
75 self.protocol_version = PROTOCOL_VERSION 76 self.protocol_version = PROTOCOL_VERSION
91 self.ignorelist = {} 92 self.ignorelist = {}
92 self.players = {} 93 self.players = {}
93 self.groups = {} 94 self.groups = {}
94 95
95 #Setup Stuff from the Server 96 #Setup Stuff from the Server
96 if kwargs.has_key('inbox'): 97 """
97 self.inbox = kwargs['inbox'] 98 if kwargs.has_key('inbox'): self.inbox = kwargs['inbox']
98 if kwargs.has_key('sock'): 99 if kwargs.has_key('sock'): self.sock = kwargs['sock']
99 self.sock = kwargs['sock'] 100 if kwargs.has_key('ip'): self.ip = kwargs['ip']
100 if kwargs.has_key('ip'): 101 if kwargs.has_key('role'): self.role = kwargs['role']
101 self.ip = kwargs['ip'] 102 if kwargs.has_key('id'): self.id = kwargs['id']
102 if kwargs.has_key('role'): 103 if kwargs.has_key('group_id'): self.group_id = kwargs['group_id']
103 self.role = kwargs['role'] 104 if kwargs.has_key('name'): self.name = kwargs['name']
104 if kwargs.has_key('id'): 105 if kwargs.has_key('version'): self.version = kwargs['version']
105 self.id = kwargs['id'] 106 if kwargs.has_key('protocol_version'): self.protocol_version = kwargs['protocol_version']
106 if kwargs.has_key('group_id'): 107 if kwargs.has_key('client_string'): self.client_string = kwargs['client_string']
107 self.group_id = kwargs['group_id'] 108 """
108 if kwargs.has_key('name'): 109
109 self.name = kwargs['name'] 110 ### Alpha ###
110 if kwargs.has_key('version'): 111 self.inbox = kwargs['inbox'] or pass
111 self.version = kwargs['version'] 112 self.sock = kwargs['sock'] or pass
112 if kwargs.has_key('protocol_version'): 113 self.ip = kwargs['ip'] or pass
113 self.protocol_version = kwargs['protocol_version'] 114 self.role = kwargs['role'] or pass
114 if kwargs.has_key('client_string'): 115 self.id = kwargs['id'] or pass
115 self.client_string = kwargs['client_string'] 116 self.group_id = kwargs['group_id'] or pass
117 self.name = kwargs['name'] or pass
118 self.version = kwargs['version'] or pass
119 self.protocol_version = kwargs['protocol_version'] or pass
120 self.client_string = kwargs['client_string'] or pass
121
116 122
117 def build_message(self, *args, **kwargs): 123 def build_message(self, *args, **kwargs):
118 #print args 124 #print args
119 message = '<' + args[0] 125 message = '<' + args[0]
120 126
157 def use_roles(self): 163 def use_roles(self):
158 return self.useroles 164 return self.useroles
159 165
160 def update_self_from_player(self, player): 166 def update_self_from_player(self, player):
161 try: 167 try:
162 (self.name, self.ip, self.id, self.text_status, self.version, self.protocol_version, self.client_string,role) = player 168 (self.name, self.ip, self.id, self.text_status,
169 self.version, self.protocol_version, self.client_string,role) = player
163 except: 170 except:
164 logger.general("Exception: messenger->update_self_from_player():\n" + traceback.format_exc()) 171 logger.general("Exception: messenger->update_self_from_player():\n" + traceback.format_exc())
165 172
166 def toxml(self, act): 173 def toxml(self, act):
167 logger.exception("DEPRECIATED! messenger->toxml()") 174 logger.exception("DEPRECIATED! messenger->toxml()")
216 223
217 def idle_status(self): 224 def idle_status(self):
218 idletime = self.idle_time() 225 idletime = self.idle_time()
219 idlemins = idletime / 60 226 idlemins = idletime / 60
220 status = "Unknown" 227 status = "Unknown"
221 if idlemins < 3: 228 if idlemins < 3: status = "Active"
222 status = "Active" 229 elif idlemins < 10: status = "Idle ("+str(int(idlemins))+" mins)"
223 elif idlemins < 10: 230 else: status = "Inactive ("+str(int(idlemins))+" mins)"
224 status = "Idle ("+str(int(idlemins))+" mins)"
225 else:
226 status = "Inactive ("+str(int(idlemins))+" mins)"
227 return status 231 return status
228 232
229 def connected_time(self): 233 def connected_time(self):
230 curtime = time.time() 234 curtime = time.time()
231 timeoffset = curtime - self.connecttime 235 timeoffset = curtime - self.connecttime
243 247
244 def clear_timeout(self): 248 def clear_timeout(self):
245 self.timeout_time = None 249 self.timeout_time = None
246 250
247 def check_time_out(self): 251 def check_time_out(self):
248 if self.timeout_time==None: 252 if self.timeout_time == None: self.timeout_time = time.time()
249 self.timeout_time = time.time()
250 curtime = time.time() 253 curtime = time.time()
251 diff = curtime - self.timeout_time 254 diff = curtime - self.timeout_time
252 if diff > 1800: 255 if diff > 1800: return 1
253 return 1 256 else: return 0
254 else:
255 return 0
256 257
257 def send(self, msg): 258 def send(self, msg):
258 if self.get_status() == 'connected': 259 if self.get_status() == 'connected': self.outbox.put(msg)
259 self.outbox.put(msg)
260 260
261 def change_group(self, group_id, groups): 261 def change_group(self, group_id, groups):
262 old_group_id = str(self.group_id) 262 old_group_id = str(self.group_id)
263 groups[group_id].add_player(self.id) 263 groups[group_id].add_player(self.id)
264 groups[old_group_id].remove_player(self.id) 264 groups[old_group_id].remove_player(self.id)
273 self.text_status = xml_dom.getAttribute("status") 273 self.text_status = xml_dom.getAttribute("status")
274 274
275 def add_msg_handler(self, tag, function, core=False): 275 def add_msg_handler(self, tag, function, core=False):
276 if not self.msg_handlers.has_key(tag): 276 if not self.msg_handlers.has_key(tag):
277 self.msg_handlers[tag] = function 277 self.msg_handlers[tag] = function
278 if core: 278 if core: self.core_msg_handlers.append(tag)
279 self.core_msg_handlers.append(tag) 279 else: print 'XML Messages ' + tag + ' already has a handler'
280 else:
281 print 'XML Messages ' + tag + ' already has a handler'
282 280
283 def remove_msg_handler(self, tag): 281 def remove_msg_handler(self, tag):
284 if self.msg_handlers.has_key(tag) and not tag in self.core_msg_handlers: 282 if self.msg_handlers.has_key(tag) and not tag in self.core_msg_handlers:
285 del self.msg_handlers[tag] 283 del self.msg_handlers[tag]
286 else: 284 else: print 'XML Messages ' + tag + ' already deleted'
287 print 'XML Messages ' + tag + ' already deleted'
288
289 285
290 #Message Handaling 286 #Message Handaling
291 def message_handler(self, arg): 287 def message_handler(self, arg):
292 xml_dom = None 288 xml_dom = None
293 logger.note("message handler thread running...", ORPG_NOTE) 289 logger.note("message handler thread running...", ORPG_NOTE)