Better __str__ for search objects

This commit is contained in:
Kovid Goyal 2020-02-24 07:55:49 +05:30
parent 9e640df255
commit ffe4e65ef2
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -97,6 +97,11 @@ class Search(object):
self._regex = regex.compile(expr, flags)
return self._regex
def __str__(self):
from collections import namedtuple
s = ('text', 'mode', 'case_sensitive', 'backwards')
return str(namedtuple('Search', s)(*tuple(getattr(self, x) for x in s)))
class SearchFinished(object):
@ -143,6 +148,11 @@ class SearchResult(object):
def is_or_is_after(self, result_from_js):
return result_from_js['spine_idx'] == self.spine_idx and self.index >= result_from_js['index'] and result_from_js['text'] == self.text
def __str__(self):
from collections import namedtuple
s = self.__slots__[:-1]
return str(namedtuple('SearchResult', s)(*tuple(getattr(self, x) for x in s)))
@lru_cache(maxsize=None)
def searchable_text_for_name(name):