From 9c1165558bfa081bbb84650e321c603117493b45 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Wed, 17 Oct 2012 22:03:31 +0000 Subject: [PATCH] Recast filters when comparing * lib/mudpy/misc.py: For Py3K compatibility, filters will need to be recast to comparable data types when used in comparisons. --- lib/mudpy/misc.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/mudpy/misc.py b/lib/mudpy/misc.py index 1ae039c..d67ff37 100644 --- a/lib/mudpy/misc.py +++ b/lib/mudpy/misc.py @@ -959,7 +959,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 +1774,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 +1840,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 -- 2.11.0