PyRegs: анализатор регулярных выражений Python 3

от автора

Когда не стало Kodos

Беда пришла неожиданно. Из Debian Wheezy изъяли старый, добрый PyQt3. А с ним на покой отправился и Kodos — мой любимый дебаггер регулярных выражений Питона. Много лет он помогал тестировать красивые и жуткие конструкци и тот факт, что apt-get install kodos больше не работает, вызвал желание немедленно исправить это досадное недоразумение.

Pyregs

Под капотом

PyRegs писался с нуля и компоненты выбирались с целью «чтобы работало долго и без лишних танцев с бубном». Python 2.7 под определение долго уже не подходит по той простой причине, что в какой-то момент времени его уберут из дистрибутивов GNU/Linux и стандартных пакетов других OS, полностью заменив на Python 3.х. PyQT, PySide, PyWx, PyGObject и т.д. — отличные решения, но танцев с бубном скорее не избежать: в одной ОС что-то есть и работает, в другой — нет или не работает. Но зачем использовать сторонние решения, когда

Tkinter is Python’s de-facto standard GUI (Graphical User Interface) package.

У tkinter немало подводных камней, начиная с того, что Python-код транслируется в команды tcl и заканчивая отсутствием некоторых стандартных виджетов вроде tooltip. Чем не вызов программисту?! 🙂 Таким образом выбор технологий стал очевидным: Python 3 + tkinter.

Что получилось

Пользователям Kodos интерфейс покажется очень знакомым:

В верхнем текстовом поле вводится регулярное выражение, в среднем — текст и ниже — результаты анализа.

Из невидимых глазу особенностей — обработка текста происходит в отдельном потоке, благодаря чему GUI не подвисает и показывает кол-ва обработанного текста в процентах (на практике — такое случается лишь с ооочень сложными выражениями и очень длинным текстом).

Камрады!

Прошу вашего внимания, советов, замечаний и идей. Попробовать PyRegs очень просто:

$ apt-get install python3-tk $ $ virtualenv env -p python3 $ pip install pyregs $ pyregs 

Или: github.com/BasicWolf/pyregs

Благодарю за внимание!

ссылка на оригинал статьи http://habrahabr.ru/post/183486/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *