def __iter__(self): """Required by IIterableVocabulary. Return an iterator over all elements in source. """ client = self._get_client() for key in client.scan_iter(): value = self._get_client().get(key) yield SimpleTerm( key, token=tokenize(key), title=value.decode('utf-8'))
def getTerm(self, value): """Return the ITerm object for term `value`. Raises `LookupError` if no such value can be found in Redis Store. Returns ITerm of `value`, where `value` is expected to be an existing *key* in a Redis store. The `title` of any resulting term will be set to the corresponding `value`. """ db_val = self._get_client().get(value) if db_val is None: raise LookupError('No such term: %s' % value) return SimpleTerm( value, token=tokenize(value), title=db_val.decode('utf-8'))
def test_utf8_stream(self): result = untokenize(tokenize("äöü")) self.assertEqual(result, "äöü")
def test_get_term_by_token(self): # we can get a term by its token source = RedisSource(host=self.redis_host, port=self.redis_port) token = tokenize("foo") result = source.getTermByToken(token) self.assertTrue(ITitledTokenizedTerm.providedBy(result))
def test_simple_stream(self): result = untokenize(tokenize("abc")) self.assertEqual(result, "abc")
def test_empty_string(self): result = untokenize(tokenize("")) self.assertEqual(result, "")
def test_utf8_stream(self): result = tokenize("äöü") self.assertEqual(result, "w6TDtsO8") self.is_7bit_ascii(result)
def test_simple_stream(self): result = tokenize("abc") self.assertEqual(result, "YWJj") self.is_7bit_ascii(result)
def test_empty_string(self): result = tokenize("") assert len(result) > 0 self.is_7bit_ascii(result)