mirror of
https://github.com/evennia/evennia.git
synced 2026-03-24 00:36:30 +01:00
34 lines
924 B
Python
34 lines
924 B
Python
"""
|
|
Custom manager for HelpEntry objects.
|
|
"""
|
|
from django.db import models
|
|
|
|
class HelpEntryManager(models.Manager):
|
|
def find_topicmatch(self, pobject, topicstr):
|
|
"""
|
|
Searches for matching topics based on player's input.
|
|
"""
|
|
is_staff = pobject.is_staff()
|
|
|
|
if topicstr.isdigit():
|
|
t_query = self.filter(id=topicstr)
|
|
else:
|
|
t_query = self.filter(topicname__istartswith=topicstr)
|
|
|
|
if not is_staff:
|
|
return t_query.exclude(staff_only=1)
|
|
|
|
return t_query
|
|
|
|
def find_topicsuggestions(self, pobject, topicstr):
|
|
"""
|
|
Do a fuzzier "contains" match.
|
|
"""
|
|
is_staff = pobject.is_staff()
|
|
t_query = self.filter(topicname__icontains=topicstr)
|
|
|
|
if not is_staff:
|
|
return t_query.exclude(staff_only=1)
|
|
|
|
return t_query
|
|
|