Refactored into python module
Replaced threading with gevent
Use unidecode module instead of manual search-and-replace