Fix reload to use a copy of datafile keys
[mudpy.git] / lib / mudpy / misc.py
index 2edf966..d78eac6 100644 (file)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """Miscellaneous functions for the mudpy engine."""
 
-# Copyright (c) 2004-2013 Jeremy Stanley <fungi@yuggoth.org>. Permission
+# Copyright (c) 2004-2014 Jeremy Stanley <fungi@yuggoth.org>. Permission
 # to use, copy, modify, and distribute this software is granted under
 # terms provided in the LICENSE file distributed with this software.
 
@@ -85,7 +85,7 @@ class Element:
 
     def reload(self):
         """Create a new element and replace this one."""
-        new_element = Element(self.key, self.universe, self.origin.filename)
+        Element(self.key, self.universe, self.origin.filename)
         del(self)
 
     def destroy(self):
@@ -204,9 +204,6 @@ class Element:
     def set(self, facet, value):
         """Set values."""
         if not self.has_facet(facet) or not self.get(facet) == value:
-            # TODO: remove this check after the switch to py3k
-            if repr(type(value)) == "<type 'unicode'>":
-                value = str(value)
             if not type(value) is str:
                 value = repr(value)
             self.origin.data.set(self.key, facet, value)
@@ -220,16 +217,6 @@ class Element:
         newlist.append(value)
         self.set(facet, newlist)
 
-    def new_event(self, action, when=None):
-        """Create, attach and enqueue an event element."""
-
-        # if when isn't specified, that means now
-        if not when:
-            when = self.universe.get_time()
-
-        # events are elements themselves
-        event = Element("event:" + self.key + ":" + counter)
-
     def send(
         self,
         message,
@@ -435,8 +422,6 @@ class Universe:
         self.contents = {}
         self.default_origins = {}
         self.loglines = []
-        self.pending_events_long = {}
-        self.pending_events_short = {}
         self.private_files = []
         self.reload_flag = False
         self.startdir = os.getcwd()
@@ -477,7 +462,7 @@ class Universe:
 
             # clear out all read-only files
             if hasattr(self, "files"):
-                for data_filename in self.files.keys():
+                for data_filename in list(self.files.keys()):
                     if not self.files[data_filename].is_writeable():
                         del self.files[data_filename]
 
@@ -1198,11 +1183,7 @@ def wrap_ansi_text(text, width):
     escape = False
 
     # normalize any potentially composited unicode before we count it
-    # TODO: remove this check after the switch to py3k
-    try:
-        text = unicodedata.normalize("NFKC", text)
-    except TypeError:
-        text = unicodedata.normalize("NFKC", unicode(text))
+    text = unicodedata.normalize("NFKC", text)
 
     # iterate over each character from the begining of the text
     for each_character in text: