Мне нужно решить проблему в Jython. Функция у меня выглядит так:
ok = whatever1(x, ...)
self.assertTrue("whatever1 failed: "+x...(), ok)
ok = whatever2(x, ...)
self.assertTrue("whatever2 failed: "+x...(), ok)
[ many many lines ] ...
Есть много тестов, которые выглядят так, они в основном содержат ok = ... тесты, но есть и другие вещи, которые были сделаны. Я знаю, какие функции тестируемы, потому что они приходят только из одного пространства имен (или я могу оставить часть "ok ="). Вопрос - как автоматически преобразовать источник, чтобы я писал только:
ok = whatever1(x, ...) # this is transformed
ok = whatever2(x, ...) # this too
something_else(...) # this one isn't
а остальное генерируется автоматически?
Я знаю о unparse и ast - есть ли лучший способ решить эту проблему? (да, я знаю - может быть, как монада) Я тоже смотрю на библиотеку rope
и не могу решить ... какой путь лучше выбрать здесь? Описанное мной преобразование - единственное, что мне нужно, и я не против создать временный файл, который будет включен в реальный код.