diff --git a/docs/1.0/.buildinfo b/docs/1.0/.buildinfo
index 51e8bf0b92..86bf72b72d 100644
--- a/docs/1.0/.buildinfo
+++ b/docs/1.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 506b58b575f5b932d9d74ae97342b2b1
+config: f4dcee0e43898508ec262c59fb0fdafa
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/1.0/Coding/Changelog.html b/docs/1.0/Coding/Changelog.html
index 3d15adb12c..7b38451d56 100644
--- a/docs/1.0/Coding/Changelog.html
+++ b/docs/1.0/Coding/Changelog.html
@@ -172,12 +172,17 @@
Main branch
+Fix: The username validator did not display errors correctly in web
+registration form.
+Feature: Better ANSI color fallbacks (InspectorCaracal).
Feature: Add support for saving deque with maxlen to Attributes (before
maxlen was ignored).
-Fix: More unit tests for scripts (Storsorken)
+Tools: More unit tests for scripts (Storsorken)
+Fix: Components contrib had issues with inherited typeclasses (ChrisLR)
+Fix: f-string fix in clothing contrib (aMiss-aWry)
Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how
to change the description of an in-game object with templating.
-Docs: Fixed a multitude of doc issues.
+Docs: A multitude of doc issues and typos fixed.
diff --git a/docs/1.0/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Rules.html b/docs/1.0/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Rules.html
index e45bf9c609..fbfcc38248 100644
--- a/docs/1.0/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Rules.html
+++ b/docs/1.0/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Rules.html
@@ -422,7 +422,7 @@ roll higher than 13
defender_defense = getattr(defender, defense_type.value, 1) + 10
result, quality = self.saving_throw(attacker, bonus_type=attack_type,
target=defender_defense,
- advantage=advantave, disadvantage=disadvantage)
+ advantage=advantage, disadvantage=disadvantage)
return result, quality
@@ -715,8 +715,8 @@ character!
[docs] def __init__(
self,
regex=r"^[\w. @+\-',]+$",
-
policy="Password should contain a mix of letters, "
-
"spaces, digits and @/./+/-/_/'/, only.",
+
policy="Password should contain a mix of letters, spaces, digits and @/./+/-/_/'/, only.",
):
"""
Constructs a standard Django password validator.
diff --git a/docs/1.0/_modules/evennia/typeclasses/attributes.html b/docs/1.0/_modules/evennia/typeclasses/attributes.html
index 6e24ca1842..f4aae249a6 100644
--- a/docs/1.0/_modules/evennia/typeclasses/attributes.html
+++ b/docs/1.0/_modules/evennia/typeclasses/attributes.html
@@ -287,7 +287,7 @@
Tries returning a new instance of default if callable.
"""
-
if callable(self.__default):
+
if callable(self.__default):
return self.__default()
return self.__default
diff --git a/docs/1.0/_modules/evennia/typeclasses/managers.html b/docs/1.0/_modules/evennia/typeclasses/managers.html
index 3e44ec663e..4185a37ac9 100644
--- a/docs/1.0/_modules/evennia/typeclasses/managers.html
+++ b/docs/1.0/_modules/evennia/typeclasses/managers.html
@@ -641,7 +641,7 @@
path to an existing typeclass.
"""
-
if not callable(typeclass):
+
if not callable(typeclass):
typeclass = class_from_module(typeclass)
if include_children:
diff --git a/docs/1.0/_modules/evennia/typeclasses/models.html b/docs/1.0/_modules/evennia/typeclasses/models.html
index e91b04cf3c..23439211ed 100644
--- a/docs/1.0/_modules/evennia/typeclasses/models.html
+++ b/docs/1.0/_modules/evennia/typeclasses/models.html
@@ -693,7 +693,7 @@
"""
-
if not callable(new_typeclass):
+
if not callable(new_typeclass):
# this is an actual class object - build the path
new_typeclass = class_from_module(new_typeclass, defaultpaths=settings.TYPECLASS_PATHS)
diff --git a/docs/1.0/_modules/evennia/utils/evmenu.html b/docs/1.0/_modules/evennia/utils/evmenu.html
index 5d65b1b81e..388eb927a4 100644
--- a/docs/1.0/_modules/evennia/utils/evmenu.html
+++ b/docs/1.0/_modules/evennia/utils/evmenu.html
@@ -658,7 +658,7 @@
self.cmd_on_exit = lambda caller, menu: caller.execute_cmd(
cmd_on_exit, session=menu._session
)
-
elif callable(cmd_on_exit):
+
elif callable(cmd_on_exit):
self.cmd_on_exit = cmd_on_exit
else:
self.cmd_on_exit = None
@@ -936,7 +936,7 @@
"""
inp_nodename = nodename_or_callable
-
if callable(nodename_or_callable):
+
if callable(nodename_or_callable):
# run the "goto" callable to get the next node to go to
nodename = self._safe_call(nodename_or_callable, raw_string, **kwargs)
if isinstance(nodename, (tuple, list)):
@@ -1361,7 +1361,7 @@
except Exception:
caller.msg(_("|rInvalid choice.|n"))
else:
-
if callable(select):
+
if callable(select):
try:
if bool(getfullargspec(select).varkw):
return select(
@@ -1387,7 +1387,7 @@
def _list_node(caller, raw_string, **kwargs):
option_list = (
-
option_generator(caller) if callable(option_generator) else option_generator
+
option_generator(caller) if callable(option_generator) else option_generator
)
npages = 0
@@ -1475,7 +1475,7 @@
cback = ("goto" in eopt and "goto") or None
if cback:
signature = eopt[cback]
-
if callable(signature):
+
if callable(signature):
# callable with no kwargs defined
eopt[cback] = (signature, {"available_choices": page})
elif is_iter(signature):
@@ -1620,7 +1620,7 @@
single question.
"""
-
if not callable(callback):
+
if not callable(callback):
raise RuntimeError("get_input: input callback is not callable.")
caller.ndb._getinput = _Prompt()
caller.ndb._getinput._callback = callback
@@ -1785,11 +1785,11 @@
session = kwargs["caller_session"]
caller.msg(no_txt, session=session)
-
if not callable(yes_action):
+
if not callable(yes_action):
kwargs["yes_txt"] = str(yes_action)
yes_action = _callable_yes_txt
-
if not callable(no_action):
+
if not callable(no_action):
kwargs["no_txt"] = str(no_action)
no_action = _callable_no_txt
diff --git a/docs/1.0/_modules/evennia/utils/funcparser.html b/docs/1.0/_modules/evennia/utils/funcparser.html
index 690bfa408c..9431552da6 100644
--- a/docs/1.0/_modules/evennia/utils/funcparser.html
+++ b/docs/1.0/_modules/evennia/utils/funcparser.html
@@ -1479,7 +1479,7 @@
default_viewpoint = "2nd person"
if hasattr(caller, "gender"):
-
if callable(caller.gender):
+
if callable(caller.gender):
default_gender = caller.gender()
else:
default_gender = caller.gender
diff --git a/docs/1.0/_modules/evennia/utils/idmapper/models.html b/docs/1.0/_modules/evennia/utils/idmapper/models.html
index 621e6b802e..9836fce24d 100644
--- a/docs/1.0/_modules/evennia/utils/idmapper/models.html
+++ b/docs/1.0/_modules/evennia/utils/idmapper/models.html
@@ -566,7 +566,7 @@
_MONITOR_HANDLER.at_update(self, fieldname)
# if a hook is defined it must be named exactly on this form
hookname = "at_%s_postsave" % fieldname
-
if hasattr(self, hookname) and callable(_GA(self, hookname)):
+
if hasattr(self, hookname) and callable(_GA(self, hookname)):
_GA(self, hookname)(new)
# # if a trackerhandler is set on this object, update it with the
diff --git a/docs/1.0/_modules/evennia/utils/picklefield.html b/docs/1.0/_modules/evennia/utils/picklefield.html
index 4dc74f5362..31076d9b4e 100644
--- a/docs/1.0/_modules/evennia/utils/picklefield.html
+++ b/docs/1.0/_modules/evennia/utils/picklefield.html
@@ -157,7 +157,7 @@
[docs]def wrap_conflictual_object(obj):
-
if hasattr(obj, "prepare_database_save") or callable(obj):
+
if hasattr(obj, "prepare_database_save") or callable(obj):
obj = _ObjectWrapper(obj)
return obj
@@ -304,7 +304,7 @@
"""
if self.has_default():
-
if callable(self.default):
+
if callable(self.default):
return self.default()
return self.default
# If the field doesn't have a default, then we punt to models.Field.
diff --git a/docs/1.0/_modules/evennia/utils/utils.html b/docs/1.0/_modules/evennia/utils/utils.html
index b3c3ce9565..c8aebdcf7f 100644
--- a/docs/1.0/_modules/evennia/utils/utils.html
+++ b/docs/1.0/_modules/evennia/utils/utils.html
@@ -1112,7 +1112,7 @@
"""
-
if callable(obj):
+
if callable(obj):
# this is a class
obj_paths = ["%s.%s" % (mod.__module__, mod.__name__) for mod in obj.mro()]
else:
@@ -1121,7 +1121,7 @@
if isinstance(parent, str):
# a given string path, for direct matching
parent_path = parent
-
elif callable(parent):
+
elif callable(parent):
# this is a class
parent_path = "%s.%s" % (parent.__module__, parent.__name__)
else:
@@ -1333,7 +1333,7 @@
callback_kwargs = kwargs.pop("at_return_kwargs", {})
errback_kwargs = kwargs.pop("at_err_kwargs", {})
-
if callable(to_execute):
+
if callable(to_execute):
# no process pool available, fall back to old deferToThread mechanism.
deferred = threads.deferToThread(to_execute, *args, **kwargs)
else:
@@ -1516,7 +1516,7 @@
if not mod:
return {}
# make sure to only return callables actually defined in this module (not imports)
-
members = getmembers(mod, predicate=lambda obj: callable(obj) and getmodule(obj) == mod)
+
members = getmembers(mod, predicate=lambda obj: callable(obj) and getmodule(obj) == mod)
return dict((key, val) for key, val in members if not key.startswith("_"))
diff --git a/docs/1.0/_modules/evennia/web/website/views/accounts.html b/docs/1.0/_modules/evennia/web/website/views/accounts.html
index b4ce6e589b..34fa36b2fd 100644
--- a/docs/1.0/_modules/evennia/web/website/views/accounts.html
+++ b/docs/1.0/_modules/evennia/web/website/views/accounts.html
@@ -86,7 +86,6 @@
Test the batch processor.