Use Rope (Python Refactoring Tool) from console

Март 20, 2015

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!

Irssi for Mac OS

Сентябрь 27, 2013

DMG is missing for Mac OS, but it is very easy to get things done.

  1. Download a client ($ wget http://www.irssi.org/files/irssi-0.8.16-rc1.tar.gz)
  2. Untar it ($ tar -xf irssi-0.8.16-rc1.tar.gz)
  3. $ cd irssi-0.8.16-rc1
  4. $ ./configure —prefix=/tmp/irssi/result (of course you must specify yours folder or even nothing at all)
  5. Make some patching ($ for f in $(grep -Rl «arch i386» *); do echo «Patching ${f}…»; sed -i -e «s/-arch i386//» $f; done
  6. make
  7. make install

Happy chatting!

Photo Title

Октябрь 22, 2012

Photo Title

Photo Caption

Обновил Fast Connect

Август 26, 2012

Как я уже писал раньше (хотя и не прямой речью), я делаю простую утилитку для Mac OS X, которая позволит быстро подключаться к разным серверам по ssh, что удобно, если их много, у них сложные и запутанные названия. В качестве идеала взял себе подобное поделие из GNOME и решил повторить своими силами.

Сейчас код получился уже более или менее универсальный, поэтому хочу сказать в-открытую: можно скачивать и собирать, вдруг пригодится? А еще код можно мэинтейнить и ревьюить.

https://github.com/xni/fast-connect

Утренняя демогогия

Июнь 12, 2012

Странная ситуация: с одной стороны аполитичность работодателя работает ему на пользу, позволяя малыми силами не заиметь врагов или даже заручиться поддержкой. А с другой — скоро выгонят всех людей за пределы РФ и некого будет хантить… Хотя не думаю, что компания что-то может сделать…

The post is brought to you by lekhonee v0.7

emacs + cpplint

Май 26, 2012

С помощью библиотеки flymake связал emacs и cpplint за 3 строки кода. По-моему, восхитительно!

Emacs vs. Sumlime Text 2

Май 26, 2012

По рекомендации знакомых попробовал sublime text 2.
Знаете, очень понравился. И снова и снова начинается внутренняя Kampf в поисках того, нужно ли переходить на него или emacs ещё подойдёт…

Вообще PyCharm, похоже, вытеснит emacs как Python IDE. И ответа на вопрос «почему», я не имею. Наверное, потому что лень что-то настраивать и ковыряться.

The post is brought to you by lekhonee v0.7

Рассылки

Май 7, 2012

Мне кажется, что самая интересная рассылка. на которую я подписан — это рассылка бизнес-инкубатора ВШЭ.

Может быть ещё кто-то что-то посоветует?

The post is brought to you by lekhonee v0.7

Ми-ми-мигранты

Май 4, 2012

Интересно, что чувствуют наши бывшие сограждане, сбежавшие в Германию, накануне 9 мая?

Домашние работы

Май 3, 2012

Наверное, я понимаю, что уже завалил все сроки. Но научиться решать задачи мне всё же интересно.

Поэтому, чтобы это было ещё интереснее, я прикрутил к домашкам
Google C++ Test Framework. И правда очень простая и удобная в обращении библиотека.

The post is brought to you by lekhonee v0.7