LINUX.ORG.RU

Snaked 0.4


0

1

Очередной большой релиз Snaked.

Сил на полноценную новость уже нет, поэтому быстроссылка на запись в блоге. Всем спасибо, как всегда жду багов и предложений.

★★★

а поддержка repl для питон есть? переход на строку ошибки? если нет - это планируется сделать?

bik ★★
()
Ответ на: комментарий от bik

repl ланируется, поддержка юнит тестов тоже (хотя и несколько брутальная).

Переход на строку ошибки

Не совсем понял.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

>repl ланируется, поддержка юнит тестов тоже (хотя и несколько брутальная).

а к какой версии?

Переход на строку ошибки


Не совсем понял.


после исполнения скрипта с ошибкой переход по сочетанию клавиш на строку с этой ошибкой.

bik ★★
()
Ответ на: комментарий от bik

а к какой версии?

Недельки через две.

после исполнения скрипта с ошибкой

Snaked скрипт не исполняет. И, видимо, никогда не будет исполнять.

Если имелась в виду синтаксическая ошибка, то такая проверка будет делаться перед сохранением + переход к ошибке для оперативного исправления.

baverman ★★★
() автор топика
Ответ на: комментарий от bik

после исполнения скрипта с ошибкой переход по сочетанию клавиш на строку с этой ошибкой.

переход на строку где вылез exception? Или какие-то другие ошибки имеются в виду?

true_admin ★★★★★
()

Потестил, прикольная штука. Рад что есть ещё люди которые не боятся изобретать новые велосипеды и выкладывать на лоре.

Спасибо за отличную программу.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Да не за что. Жаль, что таких же инопланетян как я оказалось мало. По факту, весь функционал пилится только под мои загоны, с некоторой оглядкой на человеков. Сильно не хватает собрата по разуму. Был вроде shimon, пару фишек было сделано специально для него, но куда-то исчез, наверное опять на емакс вернулся.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

Как говорится - сначала вас не замечают, потом над вами смеются, ..., а потом вы побеждаете. Удачи вам пройти второй этап

bik ★★
()
Ответ на: комментарий от baverman

Поймал багу: если запускаю из домашней директории то snaked начинает дико жрать проц при попытке что-либо сделать. И при этом ещё и такое выдаёт:

snaked 
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/util/__init__.py", line 14, in idle_callback
    callable(*args, **kwargs)
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/core/quick_open/gui.py", line 165, in fill_with_dirs
    path = os.path.readlink(path)
AttributeError: 'module' object has no attribute 'readlink'

Наложил такой патч:

--- a/snaked/core/quick_open/gui.py
+++ b/snaked/core/quick_open/gui.py
@@ -162,7 +162,7 @@ class QuickOpenDialog(BuilderAware):
         for name in os.listdir(root):
             path = os.path.join(root, name)
             if os.path.islink(path):
-                path = os.path.readlink(path)
+                path = os.readlink(path)
                            
             if os.path.isdir(path):
                 dirs.append(name+'/')

Перестало на консоль ругаться, но тормоза всё равно нереальные.

Натравил strace, оно постоянно папки сканит, eщё заметил что sshfs весь проц жрёт. Может какой-нить inotify(или что там щас модно) приделать? А то ппц прям, работать низзя...

убунта 10.10 amd64 python 2.6.6.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Бугагашеньки. Предполагаю циклические симлинки. Сейчас буду разбираться.

baverman ★★★
() автор топика
Ответ на: комментарий от true_admin

По идее, проверка на симлинкость не нужна, зачем я ее сделал не знаю. Попробуй удалить ее. То есть что-то типа

for name in os.listdir(root):
             path = os.path.join(root, name)
-            if os.path.islink(path):
-                path = os.path.readlink(path)
-                           
+
             if os.path.isdir(path):
                 dirs.append(name+'/')
             else:
                 files.append(name)
baverman ★★★
() автор топика
Ответ на: комментарий от true_admin

Протестил без проверки симлинка, все прекрасно работает. Код запушил в мастер.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

так, проблему понял. Оно наткнулось на sshfs(у меня их два, первый я убил потому что sshfs стал жрать проц, а этот не жрал) и стало дико тормозить потому что сам sshfs небыстрый. Можно ли исключить mount point-ы на нелокальных фс? Или вообще исключить всё чтоos.path.ismount(path) ... Или сделать настроечку...

Отмонтировал sshfs и стало летать.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Можно ли исключить mount point-ы на нелокальных фс? Или вообще исключить всё чтоos.path.ismount(path) ... Или сделать настроечку...

По идее, файлы должны находиться в «проектах», в которых нет mount пойнтов. Поиск файла не подымается выше проектной диры, что позволяет избежать проблем. Я так понимаю, по каким-то причинам в качестве проектной определилась хоумдира, поэтому он начал по ней шерстить.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

я его запускаю через «run application»(менюшка по alt+F1 или alt+F2, не помню точно, у меня переназначены хоткеи) и рабочей директорией при этом становится мой хомяк. Проекты уже в папке типа ~/my_projects/project1

Можно ли как-то настроить чтобы он при запуске переходил в определённую директорию?

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Можно ли как-то настроить чтобы он при запуске переходил в определённую директорию

Для этого есть сессии.

Если проекты не под гитом или меркуриалом, то лучше сделать маркер проекта:

mkdir .snaked_project

Для создания сессии:

snaked -s sessionname

Потом открываешь файл и его проект будет добавлен в сессию.

Затем сессии можно открывать как через опцию '-s', так и через

snaked --select-session

который покажет диалог выбора сессий.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

Вот такая штука вылезла. Однако редактор вроде как работает:

$ snaked -s crm2
$ snaked --select-session
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/plugins/save_positions/__init__.py", line 20, in on_editor_get_file_position
    if editor.uri in prefs:
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/core/prefs.py", line 90, in __contains__
    return self.db.has_key(self.get_key(key))
  File "/usr/lib/python2.6/bsddb/__init__.py", line 304, in has_key
    return _DeadlockWrap(self.db.has_key, key)
  File "/usr/lib/python2.6/bsddb/dbutils.py", line 68, in DeadlockWrap
    return function(*_args, **_kwargs)
TypeError: String or Integer object expected for key, unicode found
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/plugins/save_positions/__init__.py", line 20, in on_editor_get_file_position
    if editor.uri in prefs:
  File "/usr/local/lib/python2.6/dist-packages/snaked-0.4.4-py2.6.egg/snaked/core/prefs.py", line 90, in __contains__
    return self.db.has_key(self.get_key(key))
  File "/usr/lib/python2.6/bsddb/__init__.py", line 304, in has_key
    return _DeadlockWrap(self.db.has_key, key)
  File "/usr/lib/python2.6/bsddb/dbutils.py", line 68, in DeadlockWrap
    return function(*_args, **_kwargs)
TypeError: String or Integer object expected for key, unicode found

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Там нашёл всю инфу.

Если честно, там далеко не вся инфа. А которая есть довольно сумбурна, поэтому совсем неудивительно, что новые пользователи сталкиваются с, гхм-гхм, некоторыми трудностями.

baverman ★★★
() автор топика
Ответ на: комментарий от true_admin

Пофикшено в 0.4.5. Плюс в этом релизе появился человеческий способ редактировать сниппеты и ассоциации файлов через <ctrl>P.

baverman ★★★
() автор топика

А комплишоны для Django и PyGTK для обычной верёвки годятся? А то мне мама не разрешает из вима выходить.

vasilenko ★★
()
Ответ на: комментарий от vasilenko

А комплишоны для Django и PyGTK для обычной верёвки годятся?

Ну, я их гвоздями не прибивал, о редакторе провайдеры хинтов ничего не знают и опираются только на rope. Поэтому можешь глянуть тесты, test_djangohints.py или test_pygtkhints.py, там все просто. Никаких проблем вкорячить их в ropevim быть не должно.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

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

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.