From 3084da788f802f32511865ccece710982b3e3415 Mon Sep 17 00:00:00 2001 From: Griatch Date: Mon, 28 Nov 2022 21:07:38 +0100 Subject: [PATCH] Add consistent script ordering in script search. Resolve #2045 --- evennia/commands/default/building.py | 13 ++++++++----- evennia/typeclasses/managers.py | 1 - 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/evennia/commands/default/building.py b/evennia/commands/default/building.py index b81f8ee72c..81ef7fd7c6 100644 --- a/evennia/commands/default/building.py +++ b/evennia/commands/default/building.py @@ -6,7 +6,6 @@ import re from django.conf import settings from django.core.paginator import Paginator from django.db.models import Max, Min, Q - from evennia import InterruptCommand from evennia.commands.cmdhandler import get_and_merge_cmdsets from evennia.locks.lockhandler import LockException @@ -3366,8 +3365,10 @@ class CmdScripts(COMMAND_DEFAULT_CLASS): if scripts: return scripts # try typeclass path - scripts = ScriptDB.objects.filter(db_typeclass_path__iendswith=args).exclude( - db_typeclass_path__in=self.hide_script_paths + scripts = ( + ScriptDB.objects.filter(db_typeclass_path__iendswith=args) + .exclude(db_typeclass_path__in=self.hide_script_paths) + .order_by("id") ) if scripts: return scripts @@ -3375,8 +3376,10 @@ class CmdScripts(COMMAND_DEFAULT_CLASS): # may be a dbref-range val1, val2 = (dbref(part.strip()) for part in args.split("-", 1)) if val1 and val2: - scripts = ScriptDB.objects.filter(id__in=(range(val1, val2 + 1))).exclude( - db_typeclass_path__in=self.hide_script_paths + scripts = ( + ScriptDB.objects.filter(id__in=(range(val1, val2 + 1))) + .exclude(db_typeclass_path__in=self.hide_script_paths) + .order_by("id") ) if scripts: return scripts diff --git a/evennia/typeclasses/managers.py b/evennia/typeclasses/managers.py index fee012eaed..0e238a14f8 100644 --- a/evennia/typeclasses/managers.py +++ b/evennia/typeclasses/managers.py @@ -8,7 +8,6 @@ import shlex from django.db.models import Count, ExpressionWrapper, F, FloatField, Q from django.db.models.functions import Cast - from evennia.typeclasses.attributes import Attribute from evennia.typeclasses.tags import Tag from evennia.utils import idmapper