Сообщения в Caesium

Caesium

Новости сабжа. Добавил возможность работать с несколькими нодами. Возможны проблемы, но буду рад любой обратной связи.
Andrew Lobanov to All (2015-11-05 09:52:48) [ссылка]

Re: Caesium

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

Причём фича эта совместима с классической реализацией ii. Суть в хранении двух индексов: локального (тех сообщений, что есть в базе) и удалённого (тех сообщений, что есть на ноде). В случае, если эхоконференции в локальной базе нет, клиент скачает 50 последних.

ЗЫЖ, если надумаете именно обновлять, то необходимо или снести базу (echo/ и msg/) или создать в echo/ директорию full/ и скопировать все индексы эхоконференций туда (именно скопировать).
Andrew Lobanov to All (2015-11-06 06:48:30) [ссылка]

Re: Caesium

Ответ на сообщение
AL> В сабже серьёзное нововведение: теперь он не качает всю эху целиком без запроса пользователя. Просьба пока не обновляться, а потестировать отдельно от текущего клиента во избежание неприятных казусов.
AL> Причём фича эта совместима с классической реализацией ii. Суть в хранении двух индексов: локального (тех сообщений, что есть в базе) и удалённого (тех сообщений, что есть на ноде). В случае, если эхоконференции в локальной базе нет, клиент скачает 50 последних.
В общем, пока я смог только больше сломать, чем починить. Так что всем рекомендую откатиться коммит e81751380f47688e502914f2763040903cf01ddc
Andrew Lobanov to Andrew Lobanov (2015-11-06 08:59:21) [ссылка]

Re: Caesium

Ответ на сообщение
AL>> В сабже серьёзное нововведение: теперь он не качает всю эху целиком без запроса пользователя. Просьба пока не обновляться, а потестировать отдельно от текущего клиента во избежание неприятных казусов.
AL>> Причём фича эта совместима с классической реализацией ii. Суть в хранении двух индексов: локального (тех сообщений, что есть в базе) и удалённого (тех сообщений, что есть на ноде). В случае, если эхоконференции в локальной базе нет, клиент скачает 50 последних.
Переделал всю эту котовасию с нуля. Пока тестирую. Во второй раз получилось просто отлично. Заодно пофиксил старые косяки, которые всплыли с новым функционалом и не были заметны раньше.
Andrew Lobanov to Andrew Lobanov (2015-11-06 11:13:23) [ссылка]

Re: Caesium

Ответ на сообщение
AL> Переделал всю эту котовасию с нуля. Пока тестирую. Во второй раз получилось просто отлично. Заодно пофиксил старые косяки, которые всплыли с новым функционалом и не были заметны раньше.
Ага, и нигде не написал про ласты, если бы не git log.
jmaks to Andrew Lobanov (2015-11-06 19:10:53) [ссылка]

Re: Caesium

Ответ на сообщение
Решил наконец-то протестировать цезий. Честно говоря, мне в этот раз было лень это делать, потому что надо вдумчиво почитать исходники, а они все в одном файле. Ну это к слову, конечно.

Создал в каталоге echo/ аналогичный full/ и скопировал туда файл индекса.

Пытаюсь зафетчить почту:
File "./caesium.py", line 129, in fetch_mail
lasts[echo[0]] = 0
TypeError: list indices must be integers or slices, not str
Захожу в эху, перехожу на последнее сообщение, нажимаю Right, чтобы выйти из эхи, и тут:
File "./caesium.py", line 426, in echo_selector
go = not echo_reader(echoareas[cursor][0], last, archive, False)
File "./caesium.py", line 770, in echo_reader
lasts[echo] = msgn
TypeError: list indices must be integers or slices, not str
Решил удалить всю базу, ошибки всё равно повторяются.

Совсем недавно ведь всё работало =(
AL> Причём фича эта совместима с классической реализацией ii. Суть в хранении двух индексов: локального (тех сообщений, что есть в базе) и удалённого (тех сообщений, что есть на ноде). В случае, если эхоконференции в локальной базе нет, клиент скачает 50 последних.
O_o ? Либо это я сильно туплю, либо ты что-то там странное намутил.
vit01 to Andrew Lobanov (2015-11-07 12:43:02) [ссылка]

Re: Caesium

Ответ на сообщение
vit01> Решил наконец-то протестировать цезий. Честно говоря, мне в этот раз было лень это делать, потому что надо вдумчиво почитать исходники, а они все в одном файле. Ну это к слову, конечно.
Не надо пока тестировать. Получение неполного списка сообщений пока не работает.
AL>> Причём фича эта совместима с классической реализацией ii. Суть в хранении двух индексов: локального (тех сообщений, что есть в базе) и удалённого (тех сообщений, что есть на ноде). В случае, если эхоконференции в локальной базе нет, клиент скачает 50 последних.
vit01> O_o ? Либо это я сильно туплю, либо ты что-то там странное намутил.
Ну когда доделаю, всё обрисую более подробно. А путаться в куче файлов или в одном как по мне без разницы.
Andrew Lobanov to vit01 (2015-11-07 12:57:31) [ссылка]

Re: Caesium

Ответ на сообщение
AL> Ну когда доделаю, всё обрисую более подробно.
Хорошо, ждём. Просто чувствую, что всё меньше понимаю как тонкости работы цезия, так и твою речь в целом. Это не в обиду сказано; если что, заранее извиняюсь.
vit01 to Andrew Lobanov (2015-11-07 13:28:14) [ссылка]

Re: Caesium

Ответ на сообщение
AL>> Ну когда доделаю, всё обрисую более подробно.
vit01> Хорошо, ждём. Просто чувствую, что всё меньше понимаю как тонкости работы цезия, так и твою речь в целом. Это не в обиду сказано; если что, заранее извиняюсь.
Да я там фигню написал. Мозг кипел уже под конец дня. Короче, всё просто. Как твой rss-бот, только клиент ii =)

Цезий работает очень просто. Всё дело в форматах данных.
Andrew Lobanov to vit01 (2015-11-07 16:36:40) [ссылка]

Re: Caesium

Ответ на сообщение
vit01> Хорошо, ждём. Просто чувствую, что всё меньше понимаю как тонкости работы цезия, так и твою речь в целом. Это не в обиду сказано; если что, заранее извиняюсь.
Как реализована поддержка нескольких нод и почему на смену node, auth, echoes и archives пришли nodes[node]["nodename"], nodes[node]["node"], nodes[node]["auth"], nodes[node]["echoareas"] и nodes[node]["archive"], надеюсь очевидно. И разбор конфига тоже достаточно прост. А больше там нововведений то почти и нет. До сих пор это очень простой скрипт.

PS Ну ещё сейчас lasts (где хранятся данные о последних прочитанных сообщениях) я заменил со списка на словарь для более простой и быстрой работы с этими данными.
Andrew Lobanov to vit01 (2015-11-09 04:31:16) [ссылка]

Re: Caesium

Ответ на сообщение
AL> Новости сабжа. Добавил возможность работать с несколькими нодами. Возможны проблемы, но буду рад любой обратной связи.
Не могу работать с другими нодами, так как не знаю как получить поинты
где-нибудь где... Вот такое тебе обратный связь.
jmaks to Andrew Lobanov (2015-11-09 20:22:30) [ссылка]

Re: Caesium

Ответ на сообщение
jmaks> Не могу работать с другими нодами, так как не знаю как получить поинты
jmaks> где-нибудь где... Вот такое тебе обратный связь.
Попроси тут, или посмотри на http://ii-net.tk/station.html А ещё для чтения не нужен поинт. Поинт нужен только чтобы писать.
Andrew Lobanov to jmaks (2015-11-10 02:54:17) [ссылка]

Re: Caesium

Ответ на сообщение
Посмотрел там. Посмотрел сям.
Поинт нужен, пусть даже если только читать, вдруг, внезапно, найдется, что написать. А когда оно есть, оно как-то карман не утяжеляет, а приятно греет.
jmaks to Andrew Lobanov (2015-11-10 07:11:31) [ссылка]