onTimer
Рецепт: регулярное выражение, которое выцепляет из всех исходников на питоне тело метода onTimer в пачке классов ( для дальнешего грепа всех тел функций ):
find code/server -iname '*.py' | xargs grep '^(\t*)def onTimer.*\n(^(\1\t.*)|(\s*)\n)*' -P -h
find/xargs - это если есть unix-окружение. Регулярное выражение можно сунуть в любую perl compatible библиотеку, в том числе питоновскую.
Ах да, у нас - табы для отступов, '\t', возможно вам надо будет заменить их на пробелы, \s почему-то тут не работает как хочется. Ещё наткнулся на глюк, если метод последний в файле и после последней строки нет EOL - последняя строка не покажется. Попробовал всякие (\n)|$ не срослось.
Принцип работы - ищем строки с 'def onTimer', а затем перечисляем все последующие с большим отступом (т.е. \1\t ) или пустые ( \s* ).
Можете меня поздравлять, у меня день рождения :) Виш-лист - http://mywishlist.ru/wishlist/dobrokot
26 лет, дурацкое число. 52 или 33 интересней.
find code/server -iname '*.py' | xargs grep '^(\t*)def onTimer.*\n(^(\1\t.*)|(\s*)\n)*' -P -h
find/xargs - это если есть unix-окружение. Регулярное выражение можно сунуть в любую perl compatible библиотеку, в том числе питоновскую.
Ах да, у нас - табы для отступов, '\t', возможно вам надо будет заменить их на пробелы, \s почему-то тут не работает как хочется. Ещё наткнулся на глюк, если метод последний в файле и после последней строки нет EOL - последняя строка не покажется. Попробовал всякие (\n)|$ не срослось.
Принцип работы - ищем строки с 'def onTimer', а затем перечисляем все последующие с большим отступом (т.е. \1\t ) или пустые ( \s* ).
Можете меня поздравлять, у меня день рождения :) Виш-лист - http://mywishlist.ru/wishlist/dobrokot
26 лет, дурацкое число. 52 или 33 интересней.