Декораторы классов в Python 2.5?

Есть ли способ заставить декораторов классов работать на Google App Engine , который ограничен Python 2.5 ?

Или позвольте мне перефразировать это: можно ли изменить поведение синтаксического анализатора Python из того же процесса, который он уже выполняет? Пример:

good.py:

alter_python_parser()
import bad

bad.py:

@decorated
class Foo(object): pass

Или это просто невозможно.

Объяснение: я хочу использовать стороннюю библиотеку, которая сильно использует декораторы классов, но не хочу его разветвить и поддерживать свою версию. Альтернативой может быть запуск моего кода на Typhoon App Engine с более новым питоном, но я боюсь, что Google не будет обновлять свою версию Python в течение длительного времени ...

РЕДАКТИРОВАТЬ:

Как насчет создания ловушки импорта нового стиля , которая будет выполнять подстановку строк на лету и загружать модуль из памяти? Это должно быть возможно. Я попробую, если реализации еще нет.

Но как я могу разобрать код Python 2.6+ из Python 2.5 ? Есть ли парсер только для Python? Что использует PYPY ?

5
задан Attila O. 29 November 2010 в 20:33
поделиться