Use Rope (Python Refactoring Tool) from console


Hi! I’he just performed a tiny python refactoring just from my console. With a help of `rope` of course. There is a little information about it, so I want to share it.


>>> # Prepare rope
>>> import rope.base.project
>>> from rope.base import libutils
>>> myproject = rope.base.project.Project('~/Development/backend')
>>> myresource = libutils.path_to_resource(myproject, '~/Development/backend/xxx/yyy.py')

>>> # Get position of code to be extracted to method
>>> raw_file = open('/Users/stromsund/Development/backend/xxx/yyy.py').read()
>>> raw_file = raw_file.decode('utf-8') # rope uses not byte positions, but unicode ones.
>>> start = raw_file.index('# step 1')
>>> end = raw_file.index('# second')

>>> from rope.refactor.extract import ExtractMethod
>>> extractor = ExtractMethod(myproject, myresource, start, end)
>>> changes = extractor.get_changes('extracted_method')
>>> myproject.do(changes)

Viola! It works! New method was created!

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s


%d такие блоггеры, как: