Use int type instead of long
[mudpy.git] / lib / mudpy / misc.py
index 1ae039c..3193e11 100644 (file)
@@ -142,7 +142,7 @@ class Element:
             return default
 
     def getint(self, facet, default=None):
-        """Return values as int/long type."""
+        """Return values as int type."""
         if default is None:
             default = 0
         if self.origin.data.has_option(self.key, facet):
@@ -192,18 +192,17 @@ class Element:
     def set(self, facet, value):
         """Set values."""
         if not self.has_facet(facet) or not self.get(facet) == value:
-            if type(value) is long or repr(type(value)) == "<type 'unicode'>":
+            # TODO: remove this check after the switch to py3k
+            if repr(type(value)) == "<type 'unicode'>":
                 value = str(value)
-            elif not type(value) is str:
+            if not type(value) is str:
                 value = repr(value)
             self.origin.data.set(self.key, facet, value)
             self.origin.modified = True
 
     def append(self, facet, value):
-        """Append value tp a list."""
-        if type(value) is long:
-            value = str(value)
-        elif not type(value) is str:
+        """Append value to a list."""
+        if not type(value) is str:
             value = repr(value)
         newlist = self.getlist(facet)
         newlist.append(value)
@@ -959,7 +958,8 @@ class User:
                 # log non-printable characters remaining
                 if mudpy.telnet.is_enabled(self, mudpy.telnet.TELOPT_BINARY,
                                            mudpy.telnet.HIM):
-                    asciiline = filter(lambda x: " " <= x <= "~", line)
+                    asciiline = "".join(
+                        filter(lambda x: " " <= x <= "~", line))
                     if line != asciiline:
                         logline = "Non-ASCII characters from "
                         if self.account and self.account.get("name"):
@@ -1773,9 +1773,9 @@ def handler_entering_account_name(user):
         name = input_data.lower()
 
         # fail if there are non-alphanumeric characters
-        if name != filter(
-           lambda x: x >= "0" and x <= "9" or x >= "a" and x <= "z", name
-           ):
+        if name != "".join(filter(
+                lambda x: x >= "0" and x <= "9" or x >= "a" and x <= "z",
+                name)):
             user.error = "bad_name"
 
         # if that account exists, time to request a password
@@ -1839,11 +1839,11 @@ def handler_entering_new_password(user):
     # make sure the password is strong--at least one upper, one lower and
     # one digit, seven or more characters in length
     if len(input_data) > 6 and len(
-       filter(lambda x: x >= "0" and x <= "9", input_data)
+       list(filter(lambda x: x >= "0" and x <= "9", input_data))
        ) and len(
-        filter(lambda x: x >= "A" and x <= "Z", input_data)
+        list(filter(lambda x: x >= "A" and x <= "Z", input_data))
     ) and len(
-        filter(lambda x: x >= "a" and x <= "z", input_data)
+        list(filter(lambda x: x >= "a" and x <= "z", input_data))
     ):
 
         # hash and store it, then move on to verification