-from evennia.contrib.base_systems.components import Component, DBField, TagField, signals
-from evennia.contrib.base_systems.components.holder import ComponentHolderMixin, ComponentProperty
+from evennia.contrib.base_systems.components import (
+ Component,
+ DBField,
+ TagField,
+ signals,
+)
+from evennia.contrib.base_systems.components.holder import (
+ ComponentHolderMixin,
+ ComponentProperty,
+)
from evennia.contrib.base_systems.components.signals import as_listener
from evennia.objects.objects import DefaultCharacter
from evennia.utils import create
diff --git a/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/scripts.html b/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/scripts.html
index 9e2f69d323..398cf14640 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/scripts.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/scripts.html
@@ -90,7 +90,11 @@
from evennia import ChannelDB, DefaultObject, DefaultScript, ScriptDB, logger
from evennia.contrib.base_systems.ingame_python.callbackhandler import CallbackHandler
-from evennia.contrib.base_systems.ingame_python.utils import EVENTS, InterruptEvent, get_next_wait
+from evennia.contrib.base_systems.ingame_python.utils import (
+ EVENTS,
+ InterruptEvent,
+ get_next_wait,
+)
from evennia.utils.ansi import raw
from evennia.utils.create import create_channel
from evennia.utils.dbserialize import dbserialize
diff --git a/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/utils.html b/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/utils.html
index 3a24294726..76816b9bb3 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/utils.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/base_systems/ingame_python/utils.html
@@ -87,7 +87,9 @@
from evennia import ScriptDB, logger
from evennia.contrib.base_systems.custom_gametime import UNITS, gametime_to_realtime
-from evennia.contrib.base_systems.custom_gametime import real_seconds_until as custom_rsu
+from evennia.contrib.base_systems.custom_gametime import (
+ real_seconds_until as custom_rsu,
+)
from evennia.utils.create import create_script
from evennia.utils.gametime import real_seconds_until as standard_rsu
from evennia.utils.utils import class_from_module
diff --git a/docs/1.0-dev/_modules/evennia/contrib/full_systems/evscaperoom/commands.html b/docs/1.0-dev/_modules/evennia/contrib/full_systems/evscaperoom/commands.html
index 330efca5ea..049115ded6 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/full_systems/evscaperoom/commands.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/full_systems/evscaperoom/commands.html
@@ -109,7 +109,14 @@
from django.conf import settings
-from evennia import SESSION_HANDLER, CmdSet, Command, InterruptCommand, default_cmds, syscmdkeys
+from evennia import (
+ SESSION_HANDLER,
+ CmdSet,
+ Command,
+ InterruptCommand,
+ default_cmds,
+ syscmdkeys,
+)
from evennia.utils import variable_from_module
from .utils import create_evscaperoom_object
diff --git a/docs/1.0-dev/_modules/evennia/contrib/game_systems/crafting/crafting.html b/docs/1.0-dev/_modules/evennia/contrib/game_systems/crafting/crafting.html
index 262c2d868e..7f66d4b74c 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/game_systems/crafting/crafting.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/game_systems/crafting/crafting.html
@@ -204,7 +204,12 @@
from evennia.commands.command import Command
from evennia.prototypes.spawner import spawn
from evennia.utils.create import create_object
-from evennia.utils.utils import callables_from_module, inherits_from, iter_to_str, make_iter
+from evennia.utils.utils import (
+ callables_from_module,
+ inherits_from,
+ iter_to_str,
+ make_iter,
+)
_RECIPE_CLASSES = {}
diff --git a/docs/1.0-dev/_modules/evennia/contrib/game_systems/puzzles/puzzles.html b/docs/1.0-dev/_modules/evennia/contrib/game_systems/puzzles/puzzles.html
index 3039647930..1ff21586e4 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/game_systems/puzzles/puzzles.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/game_systems/puzzles/puzzles.html
@@ -152,7 +152,14 @@
import itertools
from random import choice
-from evennia import CmdSet, DefaultCharacter, DefaultExit, DefaultRoom, DefaultScript, create_script
+from evennia import (
+ CmdSet,
+ DefaultCharacter,
+ DefaultExit,
+ DefaultRoom,
+ DefaultScript,
+ create_script,
+)
from evennia.commands.default.muxcommand import MuxCommand
from evennia.prototypes.spawner import spawn
from evennia.utils import logger, search, utils
diff --git a/docs/1.0-dev/_modules/evennia/contrib/grid/wilderness/wilderness.html b/docs/1.0-dev/_modules/evennia/contrib/grid/wilderness/wilderness.html
index 6e1c5ae856..500b6e65c4 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/grid/wilderness/wilderness.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/grid/wilderness/wilderness.html
@@ -191,7 +191,13 @@
"""
-from evennia import DefaultExit, DefaultRoom, DefaultScript, create_object, create_script
+from evennia import (
+ DefaultExit,
+ DefaultRoom,
+ DefaultScript,
+ create_object,
+ create_script,
+)
from evennia.utils import inherits_from
diff --git a/docs/1.0-dev/_modules/evennia/contrib/rpg/traits/traits.html b/docs/1.0-dev/_modules/evennia/contrib/rpg/traits/traits.html
index ec0b037794..73dcea6a4c 100644
--- a/docs/1.0-dev/_modules/evennia/contrib/rpg/traits/traits.html
+++ b/docs/1.0-dev/_modules/evennia/contrib/rpg/traits/traits.html
@@ -538,7 +538,12 @@
from evennia.utils import logger
from evennia.utils.dbserialize import _SaverDict
-from evennia.utils.utils import class_from_module, inherits_from, list_to_string, percent
+from evennia.utils.utils import (
+ class_from_module,
+ inherits_from,
+ list_to_string,
+ percent,
+)
# Available Trait classes.
# This way the user can easily supply their own. Each
diff --git a/docs/1.0-dev/_modules/evennia/help/filehelp.html b/docs/1.0-dev/_modules/evennia/help/filehelp.html
index 1a4d2f8071..3643a7a0a5 100644
--- a/docs/1.0-dev/_modules/evennia/help/filehelp.html
+++ b/docs/1.0-dev/_modules/evennia/help/filehelp.html
@@ -151,7 +151,12 @@
from evennia.locks.lockhandler import LockHandler
from evennia.utils import logger
-from evennia.utils.utils import all_from_module, lazy_property, make_iter, variable_from_module
+from evennia.utils.utils import (
+ all_from_module,
+ lazy_property,
+ make_iter,
+ variable_from_module,
+)
_DEFAULT_HELP_CATEGORY = settings.DEFAULT_HELP_CATEGORY
diff --git a/docs/1.0-dev/_modules/evennia/server/evennia_launcher.html b/docs/1.0-dev/_modules/evennia/server/evennia_launcher.html
index 8c0d0a6e32..fac0cbd029 100644
--- a/docs/1.0-dev/_modules/evennia/server/evennia_launcher.html
+++ b/docs/1.0-dev/_modules/evennia/server/evennia_launcher.html
@@ -449,18 +449,18 @@
"""
ERROR_PYTHON_VERSION = """
- ERROR: Python {pversion} used. Evennia requires version
+ ERROR: Python {python_version} used. Evennia requires version
{python_min} or higher.
"""
WARNING_PYTHON_MAX_TESTED_VERSION = """
- WARNING: Python {pversion} used. Evennia is only tested with Python
+ WARNING: Python {python_version} used. Evennia is only tested with Python
versions {python_min} to {python_max_tested}. If you see unexpected errors, try
reinstalling with a tested Python version instead.
"""
ERROR_TWISTED_VERSION = """
- ERROR: Twisted {tversion} found. Evennia requires
+ ERROR: Twisted {twisted_version} found. Evennia requires
version {twisted_min} or higher.
"""
@@ -469,8 +469,8 @@
"""
ERROR_DJANGO_MIN = """
- ERROR: Django {dversion} found. Evennia requires at least version {django_min} (but
- below version {django_lt}).
+ ERROR: Django {django_version} found. Evennia supports Django
+ {django_min} - {django_max_tested}. Using an older version is not supported.
If you are using a virtualenv, use the command `pip install --upgrade -e evennia` where
`evennia` is the folder to where you cloned the Evennia library. If not
@@ -482,8 +482,8 @@
"""
NOTE_DJANGO_NEW = """
- NOTE: Django {dversion} found. This is newer than Evennia's
- recommended version ({django_rec}). It might work, but is new
+ NOTE: Django {django_version} found. This is newer than Evennia's
+ recommended version ({django_max_tested}). It might work, but is new
enough to not be fully tested yet. Report any issues.
"""
@@ -1352,53 +1352,83 @@
not_error (bool): True if no dependency error was found.
"""
- error = False
- # Python
- pversion = ".".join(str(num) for num in sys.version_info if isinstance(num, int))
- if LooseVersion(pversion) < LooseVersion(PYTHON_MIN):
- print(ERROR_PYTHON_VERSION.format(pversion=pversion, python_min=PYTHON_MIN))
- error = True
- if LooseVersion(pversion) > LooseVersion(PYTHON_MAX_TESTED):
- print(
- WARNING_PYTHON_MAX_TESTED_VERSION.format(
- pversion=pversion, python_min=PYTHON_MIN, python_max_tested=PYTHON_MAX_TESTED
- )
- )
+ def _test_python_version():
+ """Test Python version"""
+ python_version = ".".join(str(num) for num in sys.version_info if isinstance(num, int))
+ python_curr = LooseVersion(python_version)
+ python_min = LooseVersion(PYTHON_MIN)
+ python_max = LooseVersion(PYTHON_MAX_TESTED)
- # Twisted
- try:
- import twisted
-
- tversion = twisted.version.short()
- if LooseVersion(tversion) < LooseVersion(TWISTED_MIN):
- print(ERROR_TWISTED_VERSION.format(tversion=tversion, twisted_min=TWISTED_MIN))
- error = True
- except ImportError:
- print(ERROR_NOTWISTED)
- error = True
- # Django
- try:
- dversion = ".".join(str(num) for num in django.VERSION if isinstance(num, int))
- # only the main version (1.5, not 1.5.4.0)
- dversion_main = ".".join(dversion.split(".")[:2])
- if LooseVersion(dversion) < LooseVersion(DJANGO_MIN):
+ if python_curr < python_min:
+ print(ERROR_PYTHON_VERSION.format(python_version=python_version, python_min=PYTHON_MIN))
+ return False
+ elif python_curr > python_max:
print(
- ERROR_DJANGO_MIN.format(
- dversion=dversion_main, django_min=DJANGO_MIN, django_lt=DJANGO_MAX_TESTED
+ WARNING_PYTHON_MAX_TESTED_VERSION.format(
+ python_version=python_version,
+ python_min=PYTHON_MIN,
+ python_max_tested=PYTHON_MAX_TESTED,
)
)
- error = True
- elif LooseVersion(DJANGO_MAX_TESTED) <= LooseVersion(dversion_main):
- print(NOTE_DJANGO_NEW.format(dversion=dversion_main, django_rec=DJANGO_MAX_TESTED))
- except ImportError:
- print(ERROR_NODJANGO)
- error = True
- if error:
- sys.exit()
+ return True
+
+ def _test_twisted_version():
+ """Test Twisted version"""
+ try:
+ import twisted
+ except ImportError:
+ print(ERROR_NOTWISTED)
+ return False
+ else:
+ twisted_version = twisted.version.short()
+ twisted_curr = LooseVersion(twisted_version)
+ twisted_min = LooseVersion(TWISTED_MIN)
+
+ if twisted_curr < twisted_min:
+ print(
+ ERROR_TWISTED_VERSION.format(
+ twisted_version=twisted_version, twisted_min=TWISTED_MIN
+ )
+ )
+ return False
+ else:
+ return True
+
+ def _test_django_version():
+ """Test Django version"""
+ try:
+ import django
+ except ImportError:
+ print(ERROR_NODJANGO)
+ return False
+ else:
+ django_version = ".".join(str(num) for num in django.VERSION if isinstance(num, int))
+ # only the main version (1.5, not 1.5.4.0)
+ django_version = ".".join(django_version.split(".")[:2])
+ django_curr = LooseVersion(django_version)
+ django_min = LooseVersion(DJANGO_MIN)
+ django_max = LooseVersion(DJANGO_MAX_TESTED)
+
+ if django_curr < django_min:
+ print(
+ ERROR_DJANGO_MIN.format(
+ django_version=django_version,
+ django_min=DJANGO_MIN,
+ django_max_tested=DJANGO_MAX_TESTED,
+ )
+ )
+ return False
+ elif django_curr > django_max:
+ print(
+ NOTE_DJANGO_NEW.format(
+ django_version=django_version, django_max_tested=DJANGO_MAX_TESTED
+ )
+ )
+ return True
# return True/False if error was reported or not
- return not error