Merge branch 'master' of github.com:evennia/evennia
This commit is contained in:
commit
e7b4ba019a
5 changed files with 56 additions and 58 deletions
|
|
@ -269,7 +269,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
return
|
return
|
||||||
if not obj.access(self, 'puppet'):
|
if not obj.access(self, 'puppet'):
|
||||||
# no access
|
# no access
|
||||||
self.msg("You don't have permission to puppet '%s'." % obj.key)
|
self.msg(f"You don't have permission to puppet '{obj.key}'.")
|
||||||
return
|
return
|
||||||
if obj.account:
|
if obj.account:
|
||||||
# object already puppeted
|
# object already puppeted
|
||||||
|
|
@ -278,19 +278,19 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
# we may take over another of our sessions
|
# we may take over another of our sessions
|
||||||
# output messages to the affected sessions
|
# output messages to the affected sessions
|
||||||
if _MULTISESSION_MODE in (1, 3):
|
if _MULTISESSION_MODE in (1, 3):
|
||||||
txt1 = "Sharing |c%s|n with another of your sessions."
|
txt1 = f"Sharing |c{obj.name}|n with another of your sessions."
|
||||||
txt2 = "|c%s|n|G is now shared from another of your sessions.|n"
|
txt2 = f"|c{obj.name}|n|G is now shared from another of your sessions.|n"
|
||||||
self.msg(txt1 % obj.name, session=session)
|
self.msg(txt1, session=session)
|
||||||
self.msg(txt2 % obj.name, session=obj.sessions.all())
|
self.msg(txt2, session=obj.sessions.all())
|
||||||
else:
|
else:
|
||||||
txt1 = "Taking over |c%s|n from another of your sessions."
|
txt1 = f"Taking over |c{obj.name}|n from another of your sessions."
|
||||||
txt2 = "|c%s|n|R is now acted from another of your sessions.|n"
|
txt2 = f"|c{obj.name}|n|R is now acted from another of your sessions.|n"
|
||||||
self.msg(txt1 % obj.name, session=session)
|
self.msg(txt1, session=session)
|
||||||
self.msg(txt2 % obj.name, session=obj.sessions.all())
|
self.msg(txt2, session=obj.sessions.all())
|
||||||
self.unpuppet_object(obj.sessions.get())
|
self.unpuppet_object(obj.sessions.get())
|
||||||
elif obj.account.is_connected:
|
elif obj.account.is_connected:
|
||||||
# controlled by another account
|
# controlled by another account
|
||||||
self.msg("|c%s|R is already puppeted by another Account." % obj.key)
|
self.msg(f"|c{obj.key}|R is already puppeted by another Account.")
|
||||||
return
|
return
|
||||||
|
|
||||||
# do the puppeting
|
# do the puppeting
|
||||||
|
|
@ -439,9 +439,9 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
try:
|
try:
|
||||||
klass = import_string(validator['NAME'])
|
klass = import_string(validator['NAME'])
|
||||||
except ImportError:
|
except ImportError:
|
||||||
msg = ("The module in NAME could not be imported: %s. "
|
msg = (f"The module in NAME could not be imported: {validator['NAME']}. "
|
||||||
"Check your AUTH_USERNAME_VALIDATORS setting.")
|
"Check your AUTH_USERNAME_VALIDATORS setting.")
|
||||||
raise ImproperlyConfigured(msg % validator['NAME'])
|
raise ImproperlyConfigured(msg)
|
||||||
objs.append(klass(**validator.get('OPTIONS', {})))
|
objs.append(klass(**validator.get('OPTIONS', {})))
|
||||||
return objs
|
return objs
|
||||||
|
|
||||||
|
|
@ -494,7 +494,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
# this is a banned IP or name!
|
# this is a banned IP or name!
|
||||||
errors.append("|rYou have been banned and cannot continue from here."
|
errors.append("|rYou have been banned and cannot continue from here."
|
||||||
"\nIf you feel this ban is in error, please email an admin.|x")
|
"\nIf you feel this ban is in error, please email an admin.|x")
|
||||||
logger.log_sec('Authentication Denied (Banned): %s (IP: %s).' % (username, ip))
|
logger.log_sec(f'Authentication Denied (Banned): {username} (IP: {ip}).')
|
||||||
LOGIN_THROTTLE.update(ip, 'Too many sightings of banned artifact.')
|
LOGIN_THROTTLE.update(ip, 'Too many sightings of banned artifact.')
|
||||||
return None, errors
|
return None, errors
|
||||||
|
|
||||||
|
|
@ -505,7 +505,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
errors.append('Username and/or password is incorrect.')
|
errors.append('Username and/or password is incorrect.')
|
||||||
|
|
||||||
# Log auth failures while throttle is inactive
|
# Log auth failures while throttle is inactive
|
||||||
logger.log_sec('Authentication Failure: %s (IP: %s).' % (username, ip))
|
logger.log_sec(f'Authentication Failure: {username} (IP: {ip}).')
|
||||||
|
|
||||||
# Update throttle
|
# Update throttle
|
||||||
if ip:
|
if ip:
|
||||||
|
|
@ -521,7 +521,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
return None, errors
|
return None, errors
|
||||||
|
|
||||||
# Account successfully authenticated
|
# Account successfully authenticated
|
||||||
logger.log_sec('Authentication Success: %s (IP: %s).' % (account, ip))
|
logger.log_sec(f'Authentication Success: {account} (IP: {ip}).')
|
||||||
return account, errors
|
return account, errors
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -629,7 +629,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
super(DefaultAccount, self).set_password(password)
|
super(DefaultAccount, self).set_password(password)
|
||||||
logger.log_sec("Password successfully changed for %s." % self)
|
logger.log_sec(f"Password successfully changed for {self}.")
|
||||||
self.at_password_change()
|
self.at_password_change()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -706,7 +706,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
account = create.create_account(username, email, password, permissions=permissions, typeclass=typeclass)
|
account = create.create_account(username, email, password, permissions=permissions, typeclass=typeclass)
|
||||||
logger.log_sec('Account Created: %s (IP: %s).' % (account, ip))
|
logger.log_sec(f'Account Created: {account} (IP: {ip}).')
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
errors.append("There was an error creating the Account. If this problem persists, contact an admin.")
|
errors.append("There was an error creating the Account. If this problem persists, contact an admin.")
|
||||||
|
|
@ -725,7 +725,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
# join the new account to the public channel
|
# join the new account to the public channel
|
||||||
pchannel = ChannelDB.objects.get_channel(settings.DEFAULT_CHANNELS[0]["key"])
|
pchannel = ChannelDB.objects.get_channel(settings.DEFAULT_CHANNELS[0]["key"])
|
||||||
if not pchannel or not pchannel.connect(account):
|
if not pchannel or not pchannel.connect(account):
|
||||||
string = "New account '%s' could not connect to public channel!" % account.key
|
string = f"New account '{account.key}' could not connect to public channel!"
|
||||||
errors.append(string)
|
errors.append(string)
|
||||||
logger.log_err(string)
|
logger.log_err(string)
|
||||||
|
|
||||||
|
|
@ -1034,7 +1034,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
updates = []
|
updates = []
|
||||||
if not cdict.get("key"):
|
if not cdict.get("key"):
|
||||||
if not self.db_key:
|
if not self.db_key:
|
||||||
self.db_key = "#%i" % self.dbid
|
self.db_key = f"#{self.dbid}"
|
||||||
updates.append("db_key")
|
updates.append("db_key")
|
||||||
elif self.key != cdict.get("key"):
|
elif self.key != cdict.get("key"):
|
||||||
updates.append("db_key")
|
updates.append("db_key")
|
||||||
|
|
@ -1156,9 +1156,9 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
now = "%02i-%02i-%02i(%02i:%02i)" % (now.year, now.month,
|
now = "%02i-%02i-%02i(%02i:%02i)" % (now.year, now.month,
|
||||||
now.day, now.hour, now.minute)
|
now.day, now.hour, now.minute)
|
||||||
if _MUDINFO_CHANNEL:
|
if _MUDINFO_CHANNEL:
|
||||||
_MUDINFO_CHANNEL.tempmsg("[%s, %s]: %s" % (_MUDINFO_CHANNEL.key, now, message))
|
_MUDINFO_CHANNEL.tempmsg(f"[{_MUDINFO_CHANNEL.key}, {now}]: {message}")
|
||||||
else:
|
else:
|
||||||
logger.log_info("[%s]: %s" % (now, message))
|
logger.log_info(f"[{now}]: {message}")
|
||||||
|
|
||||||
def at_post_login(self, session=None, **kwargs):
|
def at_post_login(self, session=None, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
@ -1185,7 +1185,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
if session:
|
if session:
|
||||||
session.msg(logged_in={})
|
session.msg(logged_in={})
|
||||||
|
|
||||||
self._send_to_connect_channel("|G%s connected|n" % self.key)
|
self._send_to_connect_channel(f"|G{self.key} connected|n")
|
||||||
if _MULTISESSION_MODE == 0:
|
if _MULTISESSION_MODE == 0:
|
||||||
# in this mode we should have only one character available. We
|
# in this mode we should have only one character available. We
|
||||||
# try to auto-connect to our last conneted object, if any
|
# try to auto-connect to our last conneted object, if any
|
||||||
|
|
@ -1235,8 +1235,8 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
reason = " (%s)" % reason if reason else ""
|
reason = f" ({reason if reason else ''})"
|
||||||
self._send_to_connect_channel("|R%s disconnected%s|n" % (self.key, reason))
|
self._send_to_connect_channel(f"|R{self.key} disconnected{reason}|n")
|
||||||
|
|
||||||
def at_post_disconnect(self, **kwargs):
|
def at_post_disconnect(self, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
@ -1353,12 +1353,12 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
is_su = self.is_superuser
|
is_su = self.is_superuser
|
||||||
|
|
||||||
# text shown when looking in the ooc area
|
# text shown when looking in the ooc area
|
||||||
result = ["Account |g%s|n (you are Out-of-Character)" % self.key]
|
result = [f"Account |g{self.key}|n (you are Out-of-Character)"]
|
||||||
|
|
||||||
nsess = len(sessions)
|
nsess = len(sessions)
|
||||||
result.append(nsess == 1 and
|
result.append(nsess == 1 and
|
||||||
"\n\n|wConnected session:|n" or
|
"\n\n|wConnected session:|n" or
|
||||||
"\n\n|wConnected sessions (%i):|n" % nsess)
|
f"\n\n|wConnected sessions ({nsess}):|n")
|
||||||
for isess, sess in enumerate(sessions):
|
for isess, sess in enumerate(sessions):
|
||||||
csessid = sess.sessid
|
csessid = sess.sessid
|
||||||
addr = "%s (%s)" % (sess.protocol_key, isinstance(sess.address, tuple) and
|
addr = "%s (%s)" % (sess.protocol_key, isinstance(sess.address, tuple) and
|
||||||
|
|
@ -1385,7 +1385,7 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
string_s_ending = len(characters) > 1 and "s" or ""
|
string_s_ending = len(characters) > 1 and "s" or ""
|
||||||
result.append("\n |w@ic <character>|n - enter the game (|w@ooc|n to get back here)")
|
result.append("\n |w@ic <character>|n - enter the game (|w@ooc|n to get back here)")
|
||||||
if is_su:
|
if is_su:
|
||||||
result.append("\n\nAvailable character%s (%i/unlimited):" % (string_s_ending, len(characters)))
|
result.append(f"\n\nAvailable character{string_s_ending} ({len(characters)}/unlimited):")
|
||||||
else:
|
else:
|
||||||
result.append("\n\nAvailable character%s%s:"
|
result.append("\n\nAvailable character%s%s:"
|
||||||
% (string_s_ending, charmax > 1 and " (%i/%i)" % (len(characters), charmax) or ""))
|
% (string_s_ending, charmax > 1 and " (%i/%i)" % (len(characters), charmax) or ""))
|
||||||
|
|
@ -1397,14 +1397,12 @@ class DefaultAccount(with_metaclass(TypeclassBase, AccountDB)):
|
||||||
# character is already puppeted
|
# character is already puppeted
|
||||||
sid = sess in sessions and sessions.index(sess) + 1
|
sid = sess in sessions and sessions.index(sess) + 1
|
||||||
if sess and sid:
|
if sess and sid:
|
||||||
result.append("\n - |G%s|n [%s] (played by you in session %i)"
|
result.append(f"\n - |G{char.key}|n [{', '.join(char.permissions.all())}] (played by you in session {sid})")
|
||||||
% (char.key, ", ".join(char.permissions.all()), sid))
|
|
||||||
else:
|
else:
|
||||||
result.append("\n - |R%s|n [%s] (played by someone else)"
|
result.append(f"\n - |R{char.key}|n [{', '.join(char.permissions.all())}] (played by someone else)")
|
||||||
% (char.key, ", ".join(char.permissions.all())))
|
|
||||||
else:
|
else:
|
||||||
# character is "free to puppet"
|
# character is "free to puppet"
|
||||||
result.append("\n - %s [%s]" % (char.key, ", ".join(char.permissions.all())))
|
result.append(f"\n - {char.key} [{', '.join(char.permissions.all())}]")
|
||||||
look_string = ("-" * 68) + "\n" + "".join(result) + "\n" + ("-" * 68)
|
look_string = ("-" * 68) + "\n" + "".join(result) + "\n" + ("-" * 68)
|
||||||
return look_string
|
return look_string
|
||||||
|
|
||||||
|
|
@ -1499,7 +1497,7 @@ class DefaultGuest(DefaultAccount):
|
||||||
overriding the call (unused by default).
|
overriding the call (unused by default).
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self._send_to_connect_channel("|G%s connected|n" % self.key)
|
self._send_to_connect_channel(f"|G{self.key} connected|n")
|
||||||
self.puppet_object(session, self.db._last_puppet)
|
self.puppet_object(session, self.db._last_puppet)
|
||||||
|
|
||||||
def at_server_shutdown(self):
|
def at_server_shutdown(self):
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ class Bot(DefaultAccount):
|
||||||
"boot:perm(Admin);msg:false();noidletimeout:true()"
|
"boot:perm(Admin);msg:false();noidletimeout:true()"
|
||||||
self.locks.add(lockstring)
|
self.locks.add(lockstring)
|
||||||
# set the basics of being a bot
|
# set the basics of being a bot
|
||||||
script_key = "%s" % self.key
|
script_key = str(self.key)
|
||||||
self.scripts.add(BotStarter, key=script_key)
|
self.scripts.add(BotStarter, key=script_key)
|
||||||
self.is_bot = True
|
self.is_bot = True
|
||||||
|
|
||||||
|
|
@ -187,7 +187,7 @@ class IRCBot(Bot):
|
||||||
# connect to Evennia channel
|
# connect to Evennia channel
|
||||||
channel = search.channel_search(ev_channel)
|
channel = search.channel_search(ev_channel)
|
||||||
if not channel:
|
if not channel:
|
||||||
raise RuntimeError("Evennia Channel '%s' not found." % ev_channel)
|
raise RuntimeError(f"Evennia Channel '{ev_channel}' not found.")
|
||||||
channel = channel[0]
|
channel = channel[0]
|
||||||
channel.connect(self)
|
channel.connect(self)
|
||||||
self.db.ev_channel = channel
|
self.db.ev_channel = channel
|
||||||
|
|
@ -307,19 +307,19 @@ class IRCBot(Bot):
|
||||||
if kwargs["type"] == "nicklist":
|
if kwargs["type"] == "nicklist":
|
||||||
# the return of a nicklist request
|
# the return of a nicklist request
|
||||||
if hasattr(self, "_nicklist_callers") and self._nicklist_callers:
|
if hasattr(self, "_nicklist_callers") and self._nicklist_callers:
|
||||||
chstr = "%s (%s:%s)" % (self.db.irc_channel, self.db.irc_network, self.db.irc_port)
|
chstr = f"{self.db.irc_channel} ({self.db.irc_network}:{self.db.irc_port})"
|
||||||
nicklist = ", ".join(sorted(kwargs["nicklist"], key=lambda n: n.lower()))
|
nicklist = ", ".join(sorted(kwargs["nicklist"], key=lambda n: n.lower()))
|
||||||
for obj in self._nicklist_callers:
|
for obj in self._nicklist_callers:
|
||||||
obj.msg("Nicks at %s:\n %s" % (chstr, nicklist))
|
obj.msg(f"Nicks at {chstr}:\n {nicklist}")
|
||||||
self._nicklist_callers = []
|
self._nicklist_callers = []
|
||||||
return
|
return
|
||||||
|
|
||||||
elif kwargs["type"] == "ping":
|
elif kwargs["type"] == "ping":
|
||||||
# the return of a ping
|
# the return of a ping
|
||||||
if hasattr(self, "_ping_callers") and self._ping_callers:
|
if hasattr(self, "_ping_callers") and self._ping_callers:
|
||||||
chstr = "%s (%s:%s)" % (self.db.irc_channel, self.db.irc_network, self.db.irc_port)
|
chstr = f"{self.db.irc_channel} ({self.db.irc_network}:{self.db.irc_port})"
|
||||||
for obj in self._ping_callers:
|
for obj in self._ping_callers:
|
||||||
obj.msg("IRC ping return from %s took %ss." % (chstr, kwargs["timing"]))
|
obj.msg(f"IRC ping return from {chstr} took {kwargs['timing']}s.")
|
||||||
self._ping_callers = []
|
self._ping_callers = []
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -341,10 +341,10 @@ class IRCBot(Bot):
|
||||||
whos.append("%s (%s/%s)" % (utils.crop("|w%s|n" % account.name, width=25),
|
whos.append("%s (%s/%s)" % (utils.crop("|w%s|n" % account.name, width=25),
|
||||||
utils.time_format(delta_conn, 0),
|
utils.time_format(delta_conn, 0),
|
||||||
utils.time_format(delta_cmd, 1)))
|
utils.time_format(delta_cmd, 1)))
|
||||||
text = "Who list (online/idle): %s" % ", ".join(sorted(whos, key=lambda w: w.lower()))
|
text = f"Who list (online/idle): {', '.join(sorted(whos, key=lambda w: w.lower()))}"
|
||||||
elif txt.lower().startswith("about"):
|
elif txt.lower().startswith("about"):
|
||||||
# some bot info
|
# some bot info
|
||||||
text = "This is an Evennia IRC bot connecting from '%s'." % settings.SERVERNAME
|
text = f"This is an Evennia IRC bot connecting from '{settings.SERVERNAME}'."
|
||||||
else:
|
else:
|
||||||
text = "I understand 'who' and 'about'."
|
text = "I understand 'who' and 'about'."
|
||||||
super().msg(privmsg=((text,), {"user": user}))
|
super().msg(privmsg=((text,), {"user": user}))
|
||||||
|
|
@ -352,10 +352,10 @@ class IRCBot(Bot):
|
||||||
# something to send to the main channel
|
# something to send to the main channel
|
||||||
if kwargs["type"] == "action":
|
if kwargs["type"] == "action":
|
||||||
# An action (irc pose)
|
# An action (irc pose)
|
||||||
text = "%s@%s %s" % (kwargs["user"], kwargs["channel"], txt)
|
text = f"{kwargs['user']}@{kwargs['channel']} {txt}"
|
||||||
else:
|
else:
|
||||||
# msg - A normal channel message
|
# msg - A normal channel message
|
||||||
text = "%s@%s: %s" % (kwargs["user"], kwargs["channel"], txt)
|
text = f"{kwargs['user']}@{kwargs['channel']}: {txt}"
|
||||||
|
|
||||||
if not self.ndb.ev_channel and self.db.ev_channel:
|
if not self.ndb.ev_channel and self.db.ev_channel:
|
||||||
# cache channel lookup
|
# cache channel lookup
|
||||||
|
|
@ -401,7 +401,7 @@ class RSSBot(Bot):
|
||||||
# connect to Evennia channel
|
# connect to Evennia channel
|
||||||
channel = search.channel_search(ev_channel)
|
channel = search.channel_search(ev_channel)
|
||||||
if not channel:
|
if not channel:
|
||||||
raise RuntimeError("Evennia Channel '%s' not found." % ev_channel)
|
raise RuntimeError(f"Evennia Channel '{ev_channel}' not found.")
|
||||||
channel = channel[0]
|
channel = channel[0]
|
||||||
self.db.ev_channel = channel
|
self.db.ev_channel = channel
|
||||||
if rss_url:
|
if rss_url:
|
||||||
|
|
@ -463,7 +463,7 @@ class GrapevineBot(Bot):
|
||||||
# connect to Evennia channel
|
# connect to Evennia channel
|
||||||
channel = search.channel_search(ev_channel)
|
channel = search.channel_search(ev_channel)
|
||||||
if not channel:
|
if not channel:
|
||||||
raise RuntimeError("Evennia Channel '%s' not found." % ev_channel)
|
raise RuntimeError(f"Evennia Channel '{ev_channel}' not found.")
|
||||||
channel = channel[0]
|
channel = channel[0]
|
||||||
channel.connect(self)
|
channel.connect(self)
|
||||||
self.db.ev_channel = channel
|
self.db.ev_channel = channel
|
||||||
|
|
|
||||||
|
|
@ -164,9 +164,9 @@ class AccountDBManager(TypedObjectManager, UserManager):
|
||||||
if typeclass:
|
if typeclass:
|
||||||
# we accept both strings and actual typeclasses
|
# we accept both strings and actual typeclasses
|
||||||
if callable(typeclass):
|
if callable(typeclass):
|
||||||
typeclass = "%s.%s" % (typeclass.__module__, typeclass.__name__)
|
typeclass = f"{typeclass.__module__}.{typeclass.__name__}"
|
||||||
else:
|
else:
|
||||||
typeclass = "%s" % typeclass
|
typeclass = str(typeclass)
|
||||||
query["db_typeclass_path"] = typeclass
|
query["db_typeclass_path"] = typeclass
|
||||||
if exact:
|
if exact:
|
||||||
matches = self.filter(**query)
|
matches = self.filter(**query)
|
||||||
|
|
|
||||||
|
|
@ -137,10 +137,10 @@ class AccountDB(TypedObject, AbstractUser):
|
||||||
#
|
#
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return smart_str("%s(account %s)" % (self.name, self.dbid))
|
return smart_str(f"{self.name}(account {self.dbid})")
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "%s(account#%s)" % (self.name, self.dbid)
|
return f"{self.name}(account#{self.dbid})"
|
||||||
|
|
||||||
#@property
|
#@property
|
||||||
def __username_get(self):
|
def __username_get(self):
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class TestAccountSessionHandler(TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.account = create.create_account(
|
self.account = create.create_account(
|
||||||
"TestAccount%s" % randint(0, 999999), email="test@test.com",
|
f"TestAccount{randint(0, 999999)}", email="test@test.com",
|
||||||
password="testpassword", typeclass=DefaultAccount)
|
password="testpassword", typeclass=DefaultAccount)
|
||||||
self.handler = AccountSessionHandler(self.account)
|
self.handler = AccountSessionHandler(self.account)
|
||||||
|
|
||||||
|
|
@ -118,7 +118,7 @@ class TestDefaultAccountAuth(EvenniaTest):
|
||||||
|
|
||||||
self.password = "testpassword"
|
self.password = "testpassword"
|
||||||
self.account.delete()
|
self.account.delete()
|
||||||
self.account = create.create_account("TestAccount%s" % randint(100000, 999999), email="test@test.com", password=self.password, typeclass=DefaultAccount)
|
self.account = create.create_account(f"TestAccount{randint(100000, 999999)}", email="test@test.com", password=self.password, typeclass=DefaultAccount)
|
||||||
|
|
||||||
def test_authentication(self):
|
def test_authentication(self):
|
||||||
"Confirm Account authentication method is authenticating/denying users."
|
"Confirm Account authentication method is authenticating/denying users."
|
||||||
|
|
@ -170,7 +170,7 @@ class TestDefaultAccountAuth(EvenniaTest):
|
||||||
def test_password_validation(self):
|
def test_password_validation(self):
|
||||||
"Check password validators deny bad passwords"
|
"Check password validators deny bad passwords"
|
||||||
|
|
||||||
account = create.create_account("TestAccount%s" % randint(100000, 999999),
|
account = create.create_account(f"TestAccount{randint(100000, 999999)}",
|
||||||
email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
||||||
for bad in ('', '123', 'password', 'TestAccount', '#', 'xyzzy'):
|
for bad in ('', '123', 'password', 'TestAccount', '#', 'xyzzy'):
|
||||||
self.assertFalse(account.validate_password(bad, account=self.account)[0])
|
self.assertFalse(account.validate_password(bad, account=self.account)[0])
|
||||||
|
|
@ -182,7 +182,7 @@ class TestDefaultAccountAuth(EvenniaTest):
|
||||||
|
|
||||||
def test_password_change(self):
|
def test_password_change(self):
|
||||||
"Check password setting and validation is working as expected"
|
"Check password setting and validation is working as expected"
|
||||||
account = create.create_account("TestAccount%s" % randint(100000, 999999),
|
account = create.create_account(f"TestAccount{randint(100000, 999999)}",
|
||||||
email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
||||||
|
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
|
@ -228,7 +228,7 @@ class TestDefaultAccount(TestCase):
|
||||||
import evennia.server.sessionhandler
|
import evennia.server.sessionhandler
|
||||||
|
|
||||||
account = create.create_account(
|
account = create.create_account(
|
||||||
"TestAccount%s" % randint(0, 999999), email="test@test.com",
|
f"TestAccount{randint(0, 999999)}", email="test@test.com",
|
||||||
password="testpassword", typeclass=DefaultAccount)
|
password="testpassword", typeclass=DefaultAccount)
|
||||||
self.s1.uid = account.uid
|
self.s1.uid = account.uid
|
||||||
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
||||||
|
|
@ -247,7 +247,7 @@ class TestDefaultAccount(TestCase):
|
||||||
|
|
||||||
import evennia.server.sessionhandler
|
import evennia.server.sessionhandler
|
||||||
|
|
||||||
account = create.create_account("TestAccount%s" % randint(0, 999999), email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
account = create.create_account(f"TestAccount{randint(0, 999999)}", email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
||||||
self.s1.uid = account.uid
|
self.s1.uid = account.uid
|
||||||
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
||||||
|
|
||||||
|
|
@ -266,7 +266,7 @@ class TestDefaultAccount(TestCase):
|
||||||
|
|
||||||
import evennia.server.sessionhandler
|
import evennia.server.sessionhandler
|
||||||
|
|
||||||
account = create.create_account("TestAccount%s" % randint(0, 999999), email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
account = create.create_account(f"TestAccount{randint(0, 999999)}", email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
||||||
self.s1.uid = account.uid
|
self.s1.uid = account.uid
|
||||||
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
||||||
|
|
||||||
|
|
@ -289,7 +289,7 @@ class TestDefaultAccount(TestCase):
|
||||||
|
|
||||||
import evennia.server.sessionhandler
|
import evennia.server.sessionhandler
|
||||||
|
|
||||||
account = create.create_account("TestAccount%s" % randint(0, 999999), email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
account = create.create_account(f"TestAccount{randint(0, 999999)}", email="test@test.com", password="testpassword", typeclass=DefaultAccount)
|
||||||
self.account = account
|
self.account = account
|
||||||
self.s1.uid = account.uid
|
self.s1.uid = account.uid
|
||||||
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
evennia.server.sessionhandler.SESSIONS[self.s1.uid] = self.s1
|
||||||
|
|
@ -325,7 +325,7 @@ class TestAccountPuppetDeletion(EvenniaTest):
|
||||||
self.char1.delete()
|
self.char1.delete()
|
||||||
# Playable char list should be empty.
|
# Playable char list should be empty.
|
||||||
self.assertFalse(self.account.db._playable_characters,
|
self.assertFalse(self.account.db._playable_characters,
|
||||||
'Playable character list is not empty! %s' % self.account.db._playable_characters)
|
f'Playable character list is not empty! {self.account.db._playable_characters}')
|
||||||
|
|
||||||
|
|
||||||
class TestDefaultAccountEv(EvenniaTest):
|
class TestDefaultAccountEv(EvenniaTest):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue