[#]
iing
Andrew Lobanov(tavern,1) — All
2017-07-07 11:17:04
Сабж теперь хранит сообщения в sqlite-базе. Просьба потестировать всех желающих помочь проекту.
Ни в коем случае не обновляйте боевые узлы. Скрипт миграции пока отсутствует и возможны фатальные баги, которые я проглядел.
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-07 16:51:36
Попробовал установить ради интереса. В целом работает нода, норм всё, но есть несколько "но":
1. Сразу после скачивания из Git запускаю iing.py, жалуется на отсутствие конфига. Хорошо, копирую стандартный. Но, думаю, для развёртки на продакшене людям было бы приятнее и удобнее, если скрипт всё скопирует, даст парочку советов и интерактива.
Например, что-то вроде этого (только по-английски, наверное):
Запускаем ноду в первый раз, копируем конфиги...
Поправьте iing.cfg для настройки станции, образец в README
Создание первого пользователя
Имя: [user1] <Enter>
Пароль: [xxxxxx] <Enter>
Ещё раз: [xxxxxx] <Enter>
Authstr: yyyyyyyyyy, в дальнейшем запускайте points.py, чтобы создать нового юзверя
Listening on 0.0.0.0:3000.... ну и так далее
2. points.py также жалуется при первом запуске на отсутствующий points.txt. Это тоже минус для юзабилити. Написать пару строчек с проверкой и touch() лично тебе несложно, а юзверю хлопот меньше.
3. И уже настоящий косяк, на который нельзя закрывать глаза: iing позволяет создавать пустые сообщения через веб-интерфейс (т.е. пустые сабж и/или тело). По стандарту (да и просто ради отзывчивости интерфейса) оба поля обязаны заполняться. Тогда хотя бы проверку на JS набросай, если лень в основном коде копаться.
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-07 19:06:31
vit01> Попробовал установить ради интереса. В целом работает нода, норм всё, но есть несколько "но":
Исправил все три замечания. Спасибо большое за тестирование. Глаз уже замылился с этим всем =)
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-07 18:53:35
vit01> Попробовал установить ради интереса. В целом работает нода, норм всё, но есть несколько "но":
vit01> 1. Сразу после скачивания из Git запускаю iing.py, жалуется на отсутствие конфига. Хорошо, копирую стандартный. Но, думаю, для развёртки на продакшене людям было бы приятнее и удобнее, если скрипт всё скопирует, даст парочку советов и интерактива.
vit01> 2. points.py также жалуется при первом запуске на отсутствующий points.txt. Это тоже минус для юзабилити. Написать пару строчек с проверкой и touch() лично тебе несложно, а юзверю хлопот меньше.
Блин. Это було утеряно случайно при перепилинге не sqlite. Не спрашивай как - я не знаю =)
vit01> 3. И уже настоящий косяк, на который нельзя закрывать глаза: iing позволяет создавать пустые сообщения через веб-интерфейс (т.е. пустые сабж и/или тело). По стандарту (да и просто ради отзывчивости интерфейса) оба поля обязаны заполняться. Тогда хотя бы проверку на JS набросай, если лень в основном коде копаться.
А вот это реальный баг. Пофикшу.
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-07 21:35:54
AL>> Исправил все три замечания.
vit01> А вот и не все. Чистая нода из репозитория всё так же валится при запуске, жалуясь на отсутствие конфига.
Опа о_О
vit01> Если я скопирую конфиг вручную и попробую её запустить снова, то она даже не выдаст предупреждения, что points.txt пуст (и что его следовало бы наполнить чем-то).
Мне казалось, что это логично. Открываем вебморду и регистрируемся =)
vit01> Кстати, ещё заметил, что если в points.py не до конца указать параметры командной строки (например, только -u user, без пароля), то скрипт не обрабатывает исключение, а вываливает Traceback. Тоже непорядок.
Пофикшу.
vit01> Могу заняться этими вещами сам и понасылать тебе патчей, если лень реализовать консольное юзабилити до конца. Это не тяжёлая работа.
Да я сделаю. Мне не лень. Просто работа и всякие другие дела (я утерял диплом армейским способом и сейчас восстанавливаю). А ещё новую игру на инстеде пишу =)
В мире очень много интересного и на всё просто не хватает времени. На этой неделе пришлось пожертвовать сном немного. Так что сейчас лучше в код не лезть. Завтра поправлю эти мелкие недоразумения.
ЗЫЖ А ещё я купил sunvox под андроид и это очень классная штука даже на 5" тачскрине и она тоже пожирает моё время =)
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-08 17:17:11
vit01> Предположим, человек хочет развернуть ноду. Обычно порядок действий таков:
vit01> 1. Качаем репу, ставим зависимости
vit01> 2. Запускаем скрипт
vit01> 3. Пытаемся получить поинта и написать "test"
vit01> 4. Если всё норм, настраиваем эхи и фетч
vit01> Пункты 2 и 3 проще совместить, чтобы всё было "не отходя от кассы".
Куда тут отходить то? Даже директорию менять не надо =) Я искренне не понимаю зачем это.
vit01> Также можно облегчить пункт 4, дав небольшие подсказки, и/или сразу конфиг подогнать.
Какого рода подсказки? Есть README, а конфиг, как только дойдут руки, будет копироваться автоматом из умолчального.
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-07 21:02:41
AL> Исправил все три замечания.
А вот и не все. Чистая нода из репозитория всё так же валится при запуске, жалуясь на отсутствие конфига.
Если я скопирую конфиг вручную и попробую её запустить снова, то она даже не выдаст предупреждения, что points.txt пуст (и что его следовало бы наполнить чем-то).
Кстати, ещё заметил, что если в points.py не до конца указать параметры командной строки (например, только -u user, без пароля), то скрипт не обрабатывает исключение, а вываливает Traceback. Тоже непорядок.
----
Могу заняться этими вещами сам и понасылать тебе патчей, если лень реализовать консольное юзабилити до конца. Это не тяжёлая работа.
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-08 13:55:19
Предположим, человек хочет развернуть ноду. Обычно порядок действий таков:
1. Качаем репу, ставим зависимости
2. Запускаем скрипт
3. Пытаемся получить поинта и написать "test"
4. Если всё норм, настраиваем эхи и фетч
Пункты 2 и 3 проще совместить, чтобы всё было "не отходя от кассы". Также можно облегчить пункт 4, дав небольшие подсказки, и/или сразу конфиг подогнать.
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-08 09:40:52
vit01>> Если я скопирую конфиг вручную и попробую её запустить снова, то она даже не выдаст предупреждения, что points.txt пуст (и что его следовало бы наполнить чем-то).
AL> Мне казалось, что это логично. Открываем вебморду и регистрируемся =)
Не все пользуются вебмордами. Можно хотя бы спросить юзера, вроде того, хочет он создавать первого поинта или нет.
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-08 11:07:09
AL>> Мне казалось, что это логично. Открываем вебморду и регистрируемся =)
vit01> Не все пользуются вебмордами. Можно хотя бы спросить юзера, вроде того, хочет он создавать первого поинта или нет.
Пользователя можно. Но мне казалось, что сисоп должен каким-то боком догадываться, что сузествуют поинты.
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-08 18:54:41
vit01>> 2. Запускаем скрипт
vit01>> 3. Пытаемся получить поинта и написать "test"
vit01>> Пункты 2 и 3 проще совместить, чтобы всё было "не отходя от кассы".
AL> Куда тут отходить то? Даже директорию менять не надо =) Я искренне не понимаю зачем это.
Про points.txt и points.py в твоём README нет ни слова (значит логично было бы пустить их в дело сразу же), плюс нододержатель так или иначе пойдёт сам этой нодой пользоваться (как минимум ради теста). Мелочь, а приятно.
AL> Какого рода подсказки? Есть README, а конфиг, как только дойдут руки, будет копироваться автоматом из умолчального.
Например, после копирования конфига предложить сисопу его сначала поправить в редакторе, а затем только ноду запустить. В *nix системах можно даже $EDITOR брать на вооружение, чтобы ускорить процесс.
-----------
Кажется, мы опять обсуждаем какие-то малозначащие мелочи вместо того, чтобы заниматься делом :) Все эти штуки можно и не делать, но если сделаешь, будет чуточку приятнее.
Прошу высказаться насчёт идеи idec-python отсюда:
ii://dvUD1leZtApAyB5AlwUC, и ещё хотелось бы услышать пожелания по поводу того, как строить GUI для фэх
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-08 20:30:41
AL>> Куда тут отходить то? Даже директорию менять не надо =) Я искренне не понимаю зачем это.
vit01> Про points.txt и points.py в твоём README нет ни слова (значит логично было бы пустить их в дело сразу же), плюс нододержатель так или иначе пойдёт сам этой нодой пользоваться (как минимум ради теста). Мелочь, а приятно.
Ну как минимум ридми я к 0.4 цезия поправлю да =)
AL>> Какого рода подсказки? Есть README, а конфиг, как только дойдут руки, будет копироваться автоматом из умолчального.
vit01> Например, после копирования конфига предложить сисопу его сначала поправить в редакторе, а затем только ноду запустить. В *nix системах можно даже $EDITOR брать на вооружение, чтобы ускорить процесс.
А вот это мысль. Надо будет сделать.
vit01> Кажется, мы опять обсуждаем какие-то малозначащие мелочи вместо того, чтобы заниматься делом :) Все эти штуки можно и не делать, но если сделаешь, будет чуточку приятнее.
У меня сейчас в плане но я скорее хотел фэхи и sqlite чтобы gl00my мог перейти на iing.
vit01> Прошу высказаться насчёт идеи idec-python отсюда: ii://dvUD1leZtApAyB5AlwUC
Я думал над этим. Пока ничего хорошего не надумал. Реализация голого протокола вещь тривиальная и занимает буквально пару часов. Хотя, оформить его в виде библиотеки было бы здорово. Что ещё туда можно запихнуть?
Всё, что сверх протокола завязывается уже на конкретный способ хранения и отображения и уже не совсем понятно как добиться универсальности.
vit01> и ещё хотелось бы услышать пожелания по поводу того, как строить GUI для фэх
Ты пробовал запустить iing, закинуть что-нить в фэху и получить это с помощью цезия? Как один из вариантов реализации. Если же говорить о idec-mobile, то не проще ли сразу кидать полученные нодой файлы на фреки, как это сделано в той же iing?
Вот как лучше сделать приватные фреки в вебморде? Потому как authstr теперь передаётся только через POST-запрос. Есть мысли?
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-08 21:29:53
AL> Что ещё туда можно запихнуть?
Как минимум, обработка тегов, работа с msgline, пара двустрочников для base64, упрощение работы с бандлами.
Также парсинг значений /x/c, строк /x/file, list.txt, тех же фэх
Вот посмотри сюда:
https://github.com/vit1-irk/idec-mobile/blob/master/app/src/main/java/vit01/idecmobile/Core/IIMessage.java
Здесь, конечно, не всё необходимое (отсутствует перевод в бандл-строку, например), но в своей основе вынос работы с сообщениями с глаз долой был бы очень удобен в нашем малокачественном python-коде.
AL> Всё, что сверх протокола завязывается уже на конкретный способ хранения и отображения и уже не совсем понятно как добиться универсальности.
Из того, что сверх протокола, неплохо бы прикрутить функции для работы с сетью (думаю поделиться проксификацией через lib-socks-proxy и поддержкой таймаутов).
Просто имеет смысл иметь в реализациях как можно больше общего, дабы сильно не перегружать кодом каждую из них.
AL> Ты пробовал запустить iing, закинуть что-нить в фэху и получить это с помощью цезия? Как один из вариантов реализации.
Попробовал зафетчить фэху pictures с помощью Цезия. GUI здесь по факту отсутствует, хотя реализация и рабочая. Хотелось бы для CutieFeed'а что-нибудь и для IDEC Mobile, чтобы самому выбирать, какие файлы скачивать, и чтобы более-менее прилично выглядело.
AL> Если же говорить о idec-mobile, то не проще ли сразу кидать полученные нодой файлы на фреки, как это сделано в той же iing?
Проще, но ведь всё равно не очень полноценно с точки зрения юзабилити. Пока что попробую реализовать только Upload-диалог, а там посмотрим.
AL> Вот как лучше сделать приватные фреки в вебморде? Потому как authstr теперь передаётся только через POST-запрос. Есть мысли?
В вебморде можно всё в куки складывать и по ним проверять. Только проверку на csrf сделать ещё.
[#]
Re: iing
Andrew Lobanov(tavern,1) — All
2017-07-11 08:35:40
У сабжа появился параметр nosubscription, убирающий механизм подписок в веб-интерфейсе.
[#]
Re: iing
Andrew Lobanov(tavern,1) — vit01
2017-07-08 21:43:07
AL>> Что ещё туда можно запихнуть?
vit01> Как минимум, обработка тегов, работа с msgline, пара двустрочников для base64, упрощение работы с бандлами.
vit01> Также парсинг значений /x/c, строк /x/file, list.txt, тех же фэх
Ну это я к реализации протокола отношу у себя в голове =)
vit01> Вот посмотри сюда: https://github.com/vit1-irk/idec-mobile/blob/master/app/src/main/java/vit01/idecmobile/Core/IIMessage.java
vit01> Здесь, конечно, не всё необходимое (отсутствует перевод в бандл-строку, например), но в своей основе вынос работы с сообщениями с глаз долой был бы очень удобен в нашем малокачественном python-коде.
Ну смысл в этом есть, пожалуй. Но актуально это будет разве что для новых проектов, так как в текущих, по сути, уже всё есть.
AL>> Всё, что сверх протокола завязывается уже на конкретный способ хранения и отображения и уже не совсем понятно как добиться универсальности.
vit01> Из того, что сверх протокола, неплохо бы прикрутить функции для работы с сетью (думаю поделиться проксификацией через lib-socks-proxy и поддержкой таймаутов).
А вот я думал над этим. В итоге пришёл к мнению, что переменных http_proxy и https_proxy достаточно. Хотя, еси пускать под виндой, то таки да.
vit01> Просто имеет смысл иметь в реализациях как можно больше общего, дабы сильно не перегружать кодом каждую из них.
Ну это как минимум к выкидыванию кучи уже рабочего кода.
vit01> Попробовал зафетчить фэху pictures с помощью Цезия. GUI здесь по факту отсутствует, хотя реализация и рабочая. Хотелось бы для CutieFeed'а что-нибудь и для IDEC Mobile, чтобы самому выбирать, какие файлы скачивать, и чтобы более-менее прилично выглядело.
Просто если ты на десктопе подписан на фэху, то зачем какой-либо GUI? Сфетчилось и сфетчилось. Главное - квиток в почту и файлы описаний для разгребания.
AL>> Если же говорить о idec-mobile, то не проще ли сразу кидать полученные нодой файлы на фреки, как это сделано в той же iing?
vit01> Проще, но ведь всё равно не очень полноценно с точки зрения юзабилити. Пока что попробую реализовать только Upload-диалог, а там посмотрим.
Ну вот надо подумать. Как вариант, можно парсить имена файлов на предмет "/" и эмулировать подкаталоги в гуи работы с фреками.
AL>> Вот как лучше сделать приватные фреки в вебморде? Потому как authstr теперь передаётся только через POST-запрос. Есть мысли?
vit01> В вебморде можно всё в куки складывать и по ним проверять. Только проверку на csrf сделать ещё.
Ну можно действительно отвязаться от протокола. Как-то в голову не пришло =)
[#]
Re: iing
vit01(mira, 1) — Andrew Lobanov
2017-07-09 19:41:04
AL> Просто если ты на десктопе подписан на фэху, то зачем какой-либо GUI? Сфетчилось и сфетчилось.
Всё-таки не очень нравится идея, что любые файлы гонятся на комп автоматически. Может быть, пользователь сначала описание прочтёт и на размер посмотрит, а потом решит, хочет качать или нет.
К тому же, попробуй мыслить дальше. Если пользователь сидит за графическим десктопом (будь то Иксы или Винда), то ему наверняка захочется открывать файлы кликом мыши. Картинку открыть в просмотрщике картинок, текст - в текстовом редакторе, архив - в архиваторе и так далее.
Заходит человек в фэху, видит в списке файлы по порядку фетча, с описанием. Так искать проще и быстрее, чем в файловом менеджере, плюс сразу можно будет клацнуть и просмотреть.
vit01>> Просто имеет смысл иметь в реализациях как можно больше общего, дабы сильно не перегружать кодом каждую из них.
AL> Но актуально это будет разве что для новых проектов, так как в текущих, по сути, уже всё есть.
AL> Ну это как минимум к выкидыванию кучи уже рабочего кода.
Именно к этому и призываю - выкинуть кучу дублирующегося (пусть и рабочего) кода, чтобы упростить то, что у нас уже есть, и унифицировать поддержку всех фич. Если берём в расчёт существующие CutieFeed, Caesium, iing, то они всё равно различаются, и те вещи, которые в одном месте упустили, в других присутствуют.
В идеале в моих фантазиях клиенты и нода будут различаться только своими GUI. То есть будет нечто вроде idec-base, к которому по желанию прикручиваются bottle-модуль, ncurses-модуль, qt-модуль и так далее.
[#]
Re: iing
Peter(syscall,1) — Andrew Lobanov
2017-07-16 01:15:10
В мобильном виде вроде не работает. :)
В не-мобильном все ок.