mirror of
https://github.com/evennia/evennia.git
synced 2026-04-04 23:17:17 +02:00
Fixed silly bug in previous commit.
This commit is contained in:
parent
8b462b4934
commit
81ce6a1827
4 changed files with 26 additions and 13 deletions
|
|
@ -25,7 +25,7 @@ class BodyFunctions(Script):
|
|||
self.interval = 20 # seconds
|
||||
#self.repeats = 5 # repeat only a certain number of times
|
||||
self.start_delay = True # wait self.interval until first call
|
||||
#self.persistent = True
|
||||
self.persistent = True
|
||||
|
||||
def at_repeat(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -2134,10 +2134,12 @@ class CmdTag(MuxCommand):
|
|||
# search by tag
|
||||
tag = self.args
|
||||
category = None
|
||||
search_category = None
|
||||
if ":" in tag:
|
||||
tag, category = [part.strip() for part in tag.split(":", 1)]
|
||||
category = "object_%s" % category
|
||||
objs = search.search_tag(tag, category=category)
|
||||
search_category = "object_%s" % category
|
||||
print "tag search:", tag, search_category
|
||||
objs = search.search_tag(tag, category=search_category)
|
||||
nobjs = len(objs)
|
||||
if nobjs > 0:
|
||||
string = "Found %i object%s with tag '%s'%s:\n %s" % (nobjs,
|
||||
|
|
@ -2192,10 +2194,10 @@ class CmdTag(MuxCommand):
|
|||
obj = self.caller.search(self.args, global_search=True)
|
||||
if not obj:
|
||||
return
|
||||
tags = obj.db_tags.all()
|
||||
ntags = len(tags)
|
||||
categories = [tag.db_category.split("_", 1)[1] for tag in tags]
|
||||
categories = [" (category: %s)" % cater if cater else "" for cater in categories]
|
||||
tagtuples = obj.tags.all(return_key_and_category=True)
|
||||
ntags = len(tagtuples)
|
||||
tags = [tup[0] for tup in tagtuples]
|
||||
categories = [" (category: %s)" % tup[1] if tup[1] else "" for tup in tagtuples]
|
||||
if ntags:
|
||||
string = "Tag%s on %s: %s" % ("s" if ntags > 1 else "", obj,
|
||||
", ".join("'%s'%s" % (tags[i], categories[i]) for i in range(ntags)))
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ by game/evennia.py).
|
|||
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
if os.name == 'nt':
|
||||
# For Windows batchfile we need an extra path insertion here.
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(
|
||||
os.path.dirname(os.path.abspath(__file__))))))
|
||||
import sys
|
||||
import os
|
||||
from src.server.webserver import EvenniaReverseProxyResource
|
||||
from twisted.application import internet, service
|
||||
from twisted.internet import protocol, reactor
|
||||
|
|
|
|||
|
|
@ -493,7 +493,7 @@ class TagHandler(object):
|
|||
using the category <category_prefix><tag_category>
|
||||
"""
|
||||
self.obj = obj
|
||||
self.prefix = "%s%s" % (category_prefix.strip().lower()
|
||||
self.prefix = "%s%s" % (category_prefix.strip(" _").lower()
|
||||
if category_prefix else "", self._base_category)
|
||||
self._cache = None
|
||||
|
||||
|
|
@ -555,8 +555,14 @@ class TagHandler(object):
|
|||
_GA(self.obj, self._m2m_fieldname).remove(tag)
|
||||
self._recache()
|
||||
|
||||
def all(self, category=None):
|
||||
"Get all tags in this handler"
|
||||
def all(self, category=None, return_key_and_category=False):
|
||||
"""
|
||||
Get all tags in this handler.
|
||||
If category is given, return only Tags with this category. If
|
||||
return_keys_and_categories is set, return a list of tuples [(key, category), ...]
|
||||
where the category is stripped of the category prefix (this is ignored
|
||||
if category keyword is given).
|
||||
"""
|
||||
if self._cache is None or not _TYPECLASS_AGGRESSIVE_CACHE:
|
||||
self._recache()
|
||||
if category:
|
||||
|
|
@ -564,7 +570,12 @@ class TagHandler(object):
|
|||
if category is not None else "")
|
||||
return [to_str(p[0]) for p in _GA(self.obj, self._m2m_fieldname).filter(
|
||||
db_category=category).values_list("db_key") if p[0]]
|
||||
return self._cache.keys()
|
||||
elif return_key_and_category:
|
||||
# return tuple (key, category)
|
||||
return [(to_str(p.db_key), to_str(p.db_category).lstrip(self.prefix)) for p in self._cache.values()]
|
||||
else:
|
||||
return self._cache.keys()
|
||||
|
||||
#return [to_str(p[0]) for p in _GA(self.obj, self._m2m_fieldname).filter(db_category__startswith=self.prefix).values_list("db_key") if p[0]]
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue