trimmer.py 397 B

1234567891011121314151617181920
  1. from __future__ import unicode_literals
  2. import re
  3. from lunr.pipeline import Pipeline
  4. full_re = re.compile(r"^\W*?([^\W]+)\W*?$")
  5. def trimmer(token, i=None, tokens=None):
  6. def trim(s, metadata=None):
  7. match = full_re.match(s)
  8. if match is None:
  9. return s
  10. return match.group(1)
  11. return token.update(trim)
  12. Pipeline.register_function(trimmer, "trimmer")