#  Re: Третья сборка клиента
vit01 (mira, 1) → btimofeev  –  13:39:08 2016-02-07

> 1. Когда загружаются сообщения процесс загрузки выводится сразу в двух окнах: основном и окне отладки. Нужно ли последнее пользователю?

Если у пользователя медленный интернет (или он через прокси сидит), то окно отладки даёт понять, что клиент не висит, а работает. Особенно во время начальных запросов индекса.

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

> 2. Когда чищу базу сообщений окно отладки находится позади окна "дополнительные полезности" и на передний план его нельзя переместить.

Про эту особенность уже знаю, но пока не задумывался, что она может мешать =)
Это как-то связано с модальностью окон, попробую с этим разобраться.
#  Re: Третья сборка клиента
btimofeev (station13, 13) → vit01  –  13:18:08 2016-02-07

Еще при вводе неправильного пароля при отправке сообщения не выводит ошибки. Пишет просто отправлено 0 сообщений. А, к примеру, при помытке скачать список файлов ноды выводит Error: no auth.
#  Re: Третья сборка клиента
btimofeev (station13, 13) → vit01  –  13:13:12 2016-02-07

У меня работает. Пара незначительных моментов:

1. Когда загружаются сообщения процесс загрузки выводится сразу в двух окнах: основном и окне отладки. Нужно ли последнее пользователю?

2. Когда чищу базу сообщений окно отладки находится позади окна "дополнительные полезности" и на передний план его нельзя переместить.
#  Третья сборка клиента
vit01 (mira, 1) → All  –  07:47:21 2016-02-07

* Решил (надеюсь) проблему с пробелами в пути к файлу.
* Exe-шники снова собираются.
* Наконец-то работает деинсталлятор.
* Русский язык в установщике.

exe доступен по той же ссылке, просьба протестировать.
#  Re: Вторая сборка клиента
vit01 (mira, 1) → vit01  –  15:45:09 2016-02-06

В общем, у меня проблемы теперь. Решил пересобрать exe-шники, и питон всё время падает.

====
22033 INFO: Processing pre-find module path hook PyQt5.uic.port_v3
22094 INFO: Processing pre-find module path hook PyQt5.uic.port_v2
23074 INFO: Looking for import hooks ...
23140 INFO: Processing hook hook-PyQt5.uic.py
23214 INFO: Processing hook hook-PyQt5.QtGui.py
wine: Unhandled page fault on read access to 0x44874150 at address 0xb74a8b66 (thread 0027), starting debugger...
Traceback (most recent call last):
File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python34\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Python34\lib\site-packages\PyInstaller\__main__.py", line 97, in <module>


>> Читать далее
#  Re: Вторая сборка клиента
vit01 (mira, 1) → btimofeev  –  07:12:01 2016-02-06

Хорошо, пересоберу вечером с экранированием пробелов.
#  Re: Вторая сборка клиента
btimofeev (station13, 13) → vit01  –  16:44:56 2016-02-05

Теперь у меня редактор начал открываться, но выдает ошибку что мол не может открыть файл "C://Documents";. Видимо не может обработать путь с пробелом. Ставлю gvim редактором, он просто создает и открывает файл "c://documents";
#  Вторая сборка клиента
vit01 (mira, 1) → All  –  15:39:04 2016-02-05

Учёл некоторые замечания, подправил установщик ещё и для создания ярлыков.

Доступна по той же ссылке:
http://ii-net.tk/files/iiclient.exe

// увы, установщик работает, а деинсталлятор пока не доделал; так что если клиент мусорит, то я не виноват =)

И да, теперь сборка идёт прямо из гита, т.к. я закоммитил все изменения для совместимости.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → btimofeev  –  08:39:08 2016-02-05

tossedit.exe - это и есть тот самый внутренний редактор. Насчёт точки, видимо, специфично для винды; попробую починить, спасибо.

Попробуй вместо leafpad поставить notepad и снять галку
#  Re: Черновая сборка для Qt-клиента на винду
btimofeev (station13, 13) → vit01  –  07:44:15 2016-02-05

vit01> А как работает? Может быть, есть какие-нибудь баги?

vit01> И да, ещё можно пожелания высказать.

По установщику: он предлагает установку по-умолчанию в ту же директорию откуда запускаешь, а не в Program Files. В установленной папке лежат .git и какой-то tossedit.exe

В клиенте у меня не открывается редактор при нажатии кнопок "Ответить" или "Новое". В консоль пишет: "." не является внутренней или внешней командой, исполняемой программой или пакетным файлом. В настройках выставлен редактор Leafpad (которого у меня конечно нет) и стоит галочка на Использовать встроенный редактор.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  05:27:30 2016-02-05

AL> А. Ну я ж со своей колокольни.

Мой клиент сделан для таких людей, у которых прописано 5 и более станций, а на каждой станции по 40 эх =)
Так что ради производительности иногда приходится жертвовать удобством.

AL> PS: А где глянуть алгоритм получения сообщений?

Файл webfetch.py (и ещё network.py, если интересна работа с прокси).

AL> Как поведёт себя клиент в такой ситуации?
Он зафетчит 50 последних. Да, я знаю, что это неправильно и собираюсь пофиксить в будущем, но руки пока не доходят.
Поэтому по-умолчанию поставил лимит 200, чтобы наверняка такого не было.
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  05:10:34 2016-02-05

vit01> Я рассматривал вариант помещения прогрессбара в получение эх, но отказался от такой затеи.
vit01> Во-первых, потому что юзер должен полностью контролировать процесс фетча (а прогрессбар - это штука сама по себе ненадёжная), во-вторых, потому что алгоритм фетча слишком оптимизирован (как у Ромы), и не определишь, к какой эхе какое сообщение относится. В-третьих, потому что придётся избавиться от модульности в ii-шном движке (а это скажется негативно на будущих поделках).

А. Ну я ж со своей колокольни. У меня лютый монолит, завязанный узлом сам на себя.

vit01> Кстати, а как тебе всякие дополнительные плюшки вроде получения списка эх, блэклиста, чистки и прочего? Пробовал /x/c включать на своей ноде?

Пока не успел. Надо на слаке попробовать. На винде я его потыкал просто, так как машинку не на долго смог у жены отбить (курсач пишет). В ближайшие дни устрою стресс-тест твоего клиента и попробую пожить без запуска цезия (очень тяжко, кстати, это оказалось; как никак клиент мечты и прикипел к нему всей душой). О результатах эксперимента отпишусь к следующей неделе.

PS: А где глянуть алгоритм получения сообщений? Например, у меня включена поддержка расширенной /u/e и оно получает последние 50 сообщений. Я, например, неделю не получал новых сообщений и в эхе на ноде их скопилось больше 50. Как поведёт себя клиент в такой ситуации?
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  05:01:31 2016-02-05

AL> // А я в итоге без расширенного /u/e это сделал =) Теперь вот репу чешу: зачем предлагал =)

На самом деле расширенный /u/e - это более правильный подход, потому что клиенту не надо скачивать весь индекс.

При твоём способе клиент получает полный список сообщений и отсекает N локально, а при моём он сразу получает N в индексе (отсечка идёт на ноде).

На больших эхах вроде lor-opennet.15 расширение /u/e очень помогает.

AL> например, окно получения эх я бы сделал с двумя прогресс барами: кол-во эх и кол-во скачиваемых сообщений

Я рассматривал вариант помещения прогрессбара в получение эх, но отказался от такой затеи.
Во-первых, потому что юзер должен полностью контролировать процесс фетча (а прогрессбар - это штука сама по себе ненадёжная), во-вторых, потому что алгоритм фетча слишком оптимизирован (как у Ромы), и не определишь, к какой эхе какое сообщение относится. В-третьих, потому что придётся избавиться от модульности в ii-шном движке (а это скажется негативно на будущих поделках).

Сейчас и фетчер, и мейлер, и blacklist, и сам ii_functions.py полностью совместимы с любыми другими реализациями. Например, с tk-версией. Также к iicli-modular можно без проблем прикрутить консольную или текстовую морду, и он будет работать со всеми фичами.
Фантазировал даже как-то раз прикрутить Цезий на свой движок.

>> Читать далее
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  04:15:39 2016-02-05

vit01> Если ты включишь в настройках "Поддержку расширенного /u/e", то клиент будет скачивать только последние N.

Ух ты. Не доглядел =)

// А я в итоге без расширенного /u/e это сделал =) Теперь вот репу чешу: зачем предлагал =)

vit01> Точно, забыл. Но это с PyInstaller'ом связано, а не с самим клиентом, починю. Ты же имеешь в виду чёрную консоль питона, да?

Да. Его. Клиент мне очень глянулся на самом деле. Классный такой. Некоторые шороховатости, конечно, есть (например, окно получения эх я бы сделал с двумя прогресс барами: кол-во эх и кол-во скачиваемых сообщений, но это сугубо моё видение и не факт что так надо делать), но пользоваться уже можно и он уже няшен.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  02:29:33 2016-02-05

AL> Кстати, может сделать получение не полной эхи? А то вчера под виндой запускал (8.1 полёт нормальный), так кое как дождался загрузки эх из стандартного конфига.

Если ты включишь в настройках "Поддержку расширенного /u/e", то клиент будет скачивать только последние N.

AL> Ну и окно терминала бы скрыть ещё.

Точно, забыл. Но это с PyInstaller'ом связано, а не с самим клиентом, починю. Ты же имеешь в виду чёрную консоль питона, да?
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  02:05:17 2016-02-05

vit01> И да, ещё можно пожелания высказать.

Кстати, может сделать получение не полной эхи? А то вчера под виндой запускал (8.1 полёт нормальный), так кое как дождался загрузки эх из стандартного конфига.

Ну и окно терминала бы скрыть ещё.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → btimofeev  –  23:21:36 2016-02-04

А как работает? Может быть, есть какие-нибудь баги?

И да, ещё можно пожелания высказать.
#  Re: Черновая сборка для Qt-клиента на винду
btimofeev (station13, 13) → vit01  –  16:34:31 2016-02-04

vit01> Посмотрите, пожалуйста, что оно вообще запускается.

Устанавливается и программа работает.
#  Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → All  –  14:18:13 2016-02-04

Сделал через NSIS самым простым способом, какой только был. Это просто для теста, что оно работает.

Посмотрите, пожалуйста, что оно вообще запускается.

http://ii-net.tk/files/iiclient.exe
#  Re: Wine и Python
vit01 (mira, 1) → btimofeev  –  00:48:06 2016-02-04

Спасибо, попробую на выходных сделать готовую сборку и отчитаюсь.
#  Re: Wine и Python
btimofeev (station13, 13) → vit01  –  21:21:35 2016-02-03

vit01> А, и да, ещё как-то установщик сделать и ярлык в меню "Пуск". Здесь я даже не знаю, в какую сторону копать.

Я когда-то давно пользовался установщиком nsis, попробуй его, он один из самых популярных. Пишешь простенький скрипт на встроенном языке, скармливаешь его программе, она тебе создает установщик.

Так же могу помочь с тестированием на winxp, у меня есть одна на нетбуке.
#  Re: Wine и Python
vit01 (mira, 1) → vit01  –  14:13:38 2016-02-03

Хорошие новости. Удалось завести pip и PyInstaller. Удалось скомпилировать всё в ехе-шники. Дефолтный редактор работает. Даже кракозябры теперь ясно, как убрать, в ближайшие дни этим займусь.

Остаётся только небольшая проблема со значками. Сейчас клиент их подцепляет из дефолтной темы DE и, естесственно, в винде ничего не работает. Попробую взять где-нибудь сторонние.

А, и да, ещё как-то установщик сделать и ярлык в меню "Пуск". Здесь я даже не знаю, в какую сторону копать.
#  Re: Wine и Python
vit01 (mira, 1) → Difrex  –  10:52:38 2016-02-03

Difrex> Нужен человек с виндой.

Это ясно, но разве у нас такие водятся?
#  Re: Wine и Python
Difrex (mira, 14) → vit01  –  07:56:24 2016-02-03

Нужен человек с виндой.
#  Wine и Python
vit01 (mira, 1) → All  –  04:16:05 2016-02-03

Запустил питон под вайном. Еле-еле он работает. PyQt, как ни странно, тоже работает. И клиент запустился. Правда, там сообщения все в кракозябрах (и дефолт-редактор не работает), но всё же.

Pyinstaller не может найти специфичные для венды модули, но установить их пока не смог, т.к. pip не работает.

====
>C:\Python34\Scripts\pip.exe
Fatal error in launcher: Job information querying failed
====

Пришлось убрать (или поменять) в нескольких местах вызовы locale.setlocale, иначе выдавалась ошибка.