Ru-Board.club
← Вернуться в раздел «Программы»

» OutWiker

Автор: Jenyay
Дата сообщения: 30.10.2015 09:45
Выложил новую нестабильную версию OutWiker под номером 1.9.0.778. В этой версии были проведены достаточно серьезные изменения, которые сильно расширяют возможности для плагинов, поэтому вместе с этой версией выложил два новых плагина.

Более подробно обо всем этом читайте в блоге по ссылке - http://jenyay.net/blog/2015/10/30/outwiker-1-9-0-778-unstable-i-dva-novykh-plagina/
Автор: unreal666
Дата сообщения: 31.10.2015 18:47
текущий код в git: при прохождении теста tests_wiki.py присутствует 1 ошибка:

Код: ======================================================================
ERROR: testExceptionCommand (test.wikipage.parsertests.wikicommands.WikiCommandsTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "U:\Новая папка\outwiker (orig)\src\test\wikipage\parsertests\wikicommands.py", line 282, in testExceptionCommand
result = parser.toHtml(text)
File "U:\Новая папка\outwiker (orig)\src\outwiker\pages\wiki\parser\wikiparser.py", line 243, in toHtml
return self.parseWikiMarkup(text)
File "U:\Новая папка\outwiker (orig)\src\outwiker\pages\wiki\parser\wikiparser.py", line 253, in parseWikiMarkup
return self.error_template.format (error = traceback.format_exc())
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcd in position 46: ordinal not in range(128)

----------------------------------------------------------------------
Ran 481 tests in 20.201s

FAILED (errors=1)
Автор: Jenyay
Дата сообщения: 31.10.2015 19:02
Хм, любопытно. Пока не повторил, но, кажется, понял, в чем может быть проблема.
Автор: Jenyay
Дата сообщения: 01.11.2015 20:33
Ошибку исправил.
Автор: Jenyay
Дата сообщения: 27.11.2015 09:41
Месяц подходит к концу, а значит пора выкладывать очередную нестабильную версию OutWiker, которая теперь имеет номер 1.9.0.780. В этой версии не появилось каких-либо новых возможностей, но была проделана большая «работа над ошибками».

Подробности о новой версии читате в блоге по ссылке - http://jenyay.net/blog/2015/11/27/outwiker-1-9-0-780-unstable/

Там же хотелось бы обсудить одну особенность работы OutWiker, связанную со способом хранения заметок.
Автор: denver 22
Дата сообщения: 27.11.2015 11:02
Тревога! При запуске новой версии 1.9.0.780 вылезает ошибка с множеством упоминаний на файлы с вашего личного ПК.
При возврате на 1.9.0.778 всё снова работает как надо.
Автор: Jenyay
Дата сообщения: 27.11.2015 11:03
А можно скриншот?

Добавлено:
И устанавливал из архива или инсталлятором?
Автор: unreal666
Дата сообщения: 27.11.2015 11:35
и версия ОС какая? Сейчас обновил с git, немного потыкал - все норм.
win 7 x64. запускал из исходников (runoutwiker.py).
Автор: denver 22
Дата сообщения: 28.11.2015 01:08
Установка инсталлятором, в папку "C:\Program Files (x86)\Office\OutWiker", ОС Win7 x64.
Ссылка на Яндексе (извините, что не картинкой тут).
Автор: Jenyay
Дата сообщения: 28.11.2015 12:43
denver 22

А попробуй вот этот инсталятор - http://jenyay.net/uploads/Outwiker/Unstable/outwiker_win_unstable_new.exe
Автор: denver 22
Дата сообщения: 28.11.2015 12:51
Jenyay
Вот теперь отлично работает! Спасибо большое!
Автор: Jenyay
Дата сообщения: 28.11.2015 12:53
denver 22

Отлично. Это я до этого решил для экономии пары-тройки мегабайт выкинуть некоторые файлы, которые, как мне казалось, не используются. До этого на двух компах пробовал, вроде работало.
Автор: unreal666
Дата сообщения: 02.12.2015 06:09
del
Автор: unreal666
Дата сообщения: 03.12.2015 15:30
Скоро на панель инструментов уже кнопки влезать не будут.
Может сделать несколько панелей по типу как в Total Commander? (панели переключаются доп. кнопками на самих панелях)
Автор: Jenyay
Дата сообщения: 03.12.2015 21:26
Честно говоря, давно не видел Total Commander'а, но в OutWiker панели тоже можно перетаскивать, чтобы одна была под другой.
Автор: unreal666
Дата сообщения: 04.12.2015 04:37
Jenyay
там не перетаскивание панелей.
В Total Commander панель - это ini-файл.
И в Total Commander можно создавать несколько этих ini-файлов и кнопками на этих панелях переключать на другие панели. Т.е. при нажатии на такую кнопку фактически происходит перезагрузка панели другим ini-файлом.

В OW для этого наверно придется создавать что-то типа глобальных панелей (между которыми и переключаться), в которых и будут "храниться" другие панели (подпанели).

Добавлено:
И можешь в прогу добавить настройку отключения/включение автоссылок, т.е. чтобы можно было отключать автосоздание ссылок из URL-подобного текста.

Добавлено:
И можно как-то ошибки загрузки плагинов поинформативнее сделать?
А то вижу

Цитата:
*** Plugin имя_плагина loading error ***
имя_плагина/plugin.py
__init__() takes exactly 3 arguments (2 given)

но где ошибка по этому логу непонятно. В самом методе __init__ файла plugin.py все кажется верно. Код для него брал из шаблона

Код: def __init__ (self, application):
"""
application - экземпляр класса core.application.ApplicationParams
"""
super (PluginName, self).__init__ (application)
self.__controller = Controller(self, application)
Автор: Jenyay
Дата сообщения: 04.12.2015 08:05
Ок, посмотрю.
Автор: unreal666
Дата сообщения: 04.12.2015 11:56
еще просьба. Может настройки плагинов отображать не в "главном дереве" окна параметров OW?
А какую-нибудь отдельную ветку в параметров сделать (к примеру, так и обозвать "Настройки плагинов")?
А то настройки плагинов в корне дерева параметров как-то захламляют вид окна "Параметры".
Автор: Jenyay
Дата сообщения: 04.12.2015 21:38
unreal666

Да, согласен, я тоже хочу вынести настрйоки плагинов в отдельную ветку, но для этого придется кое-что переделать, поэтому пока это отложил на потом.

Кстати, у тебя окно с настройками нормально отображюается? Кнопки OK/Cancel не уезжают за пределы окна? А то тут получил уже два сообщения на этот счет, хотя в последней версии я вроде это поправил.
Автор: unreal666
Дата сообщения: 05.12.2015 06:10
норм. Но пока у меня версия 1.9.0.779 (не помню когда конкретно обновлял).
(хоть git у меня обновлен, но пока лень скопировать из git в рабочую папку проги )

Добавлено:
обновился из git ветки master - пока все OK.
Автор: unreal666
Дата сообщения: 05.12.2015 22:06
В плагинах в action-классах, наследующих класс BaseAction, в методе run правильнее использовать

Код: if self._application.selectedPage.readonly:
raise outwiker.core.exceptions.ReadonlyException
Автор: Jenyay
Дата сообщения: 07.12.2015 19:33
unreal666

@testreadonly показывает MessageBox, если в функции возникнет исключение ReadonlyException.
Автор: unreal666
Дата сообщения: 07.12.2015 20:15
да это я понял, но вот какой все-таки style guide (или как там правильно назвать) ?
Автор: Jenyay
Дата сообщения: 07.12.2015 21:46
Если нужно писать предупреждение пользователю о том, что страница открыта в режиме чтения, то лучше использовать @testreadonly, а если этот случай обрабатывать как-то по-другому, то бросать исключение самому и самому его обрабатывать.
Автор: unreal666
Дата сообщения: 12.12.2015 09:39
смотрю тут плагин-шаблон template.
Зачем в конструкторе GuiCreator параметр application, если его можно получить через controller._application ?
Автор: Jenyay
Дата сообщения: 12.12.2015 18:58
unreal666

Параметры с подчеркиванием считаются что-то вроде protected в C++, лучше их явно не использовать извне. А вообще я обычно стараюсь передавать Application в конструктор тому, кому надо, чтобы было проще тестировать, хотя это не всегда нужно.
Автор: unreal666
Дата сообщения: 19.12.2015 00:05
Jenyay
Хочу тут все-таки добавить ветку настройки плагинов в настройках проги.
Только не могу придумать, как обозвать класс для этой ветки-панели и ее имя
Автор: Jenyay
Дата сообщения: 19.12.2015 22:41
unreal666

Я бы назвал PluginsPanel.
Автор: unreal666
Дата сообщения: 21.12.2015 06:03
одна PluginsPanel уже есть.
Так что как-то по другому надо.
Или предлагаешь именно в уже существующей панели PluginsPanel создавать другим плагинам "подпанели"?
Наверно так даже лучше будет; новую панель придумывать/создавать не надо

Добавлено:
только нифига не понял, как к этой панели добавить подпанели.
Автор: unreal666
Дата сообщения: 21.12.2015 16:10
Порылся в wxPython, нашел в классе BookCtrlBase метод GetPageCount.
Т.е. получается, что сразу после создания в проге OW страницы плагинов ( self.__createPluginsPage () в классе PrefController ) можно заюзать что-то типа

Код: self._dialog.pluginsPagePos = self._dialog.treeBook.GetPageCount() - 1

Страницы: 123456789101112131415161718192021222324252627282930

Предыдущая тема: Acronis True Image Home vs Clonezilla


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.