Reflendey

Всем доброго вечера!


Решил пока написать в это сообщеcтво так как в нем скорее всего наибольший процент "целевой аудитории".


Если коротко,то я написал (ну точнее начал писать, а сейчас оно с одной стороны достаточно юзабельно, а с другой хотелось бы чтобы в дальнейшем оно было таким не только для меня) клиент для diary.ru api.


От существующих его отличают два факта
* Он консольный
* Он на haskell


читать дальше

@темы: *nix, haskell, Интернет

Комментарии
28.03.2016 в 10:57

Интересно! Посмотрел исходный код, узнал для себя некоторые вещи.
Консольный клиент удобен, например, для публикаций записей по расписанию.
28.03.2016 в 19:35

I burn things
чочо про клиент под мак?
28.03.2016 в 20:17

Reflendey
Trotil, Код на самом деле, я боюсь, не очень. По крайней мере в архитектурном плане (хотя ничего катастрофичного, и у меня уже есть планы что рефакторить и как).


Консольный клиент удобен, например, для публикаций записей по расписанию.
Ну я думаю, это проще делать средствами ОС с использованием клиента. Для простого случая 10 строчек на баше, а какой-то сложный сценарий в этом плане даже в голову не идёт.
А так есть еще какие-нибудь идеи, что изменить и/или добавить?


Bad, Если под мак скомпилять, то будет работать под мак (т.к. OS X вроде POSIX, то функционально даже не будет урезан как windows версия). У меня мака нет, как обстоят дела с запустить его в виртуальной машине на обычном PC - хз, но если окажется что особых проблем с этим нет, то пожалуй заведу себе виртуалку c ним. Но в любом случае нет никаких проблем скомпилировать все непосредственно обладателю мака.

ghcformacosx.github.io/
А потом в директории с исходниками stack setup && stack build.

Но вот только я не уверен, что консольный клиент это то о чем может мечтать пользователь мака)
28.03.2016 в 20:58

I burn things
Да мне так посчупать интересно)) попробую завтра уже скомпилить, спсб))
30.03.2016 в 12:06

> А так есть еще какие-нибудь идеи, что изменить и/или добавить?
очевидно, что добавить можно всё, что умеет делать браузер.
А из неочевидного - сбор статистики, парсинг постов, активность избранного и т.д, и т.п.
30.03.2016 в 13:40

Reflendey
очевидно, что добавить можно всё, что умеет делать браузер.

На самом деле, кстати нет. Точнее можно, но тогда придется уже использовать не API а парсить странички.
Например никак не поддерживаются группы, ни в каком виде (ну точнее я не нашел в документации такой информации). То есть нельзя оперировать группами избранного, создавать группы/использовать готовые группы пользователей для ограничения доступа, управлять правами доступа в дневник. И это только то, на что я обратил внимание. Но конечно можно реализовать часть этого функционала храня группы локально, но это все-таки немного не то

Ну и кстати не поддерживается юникод) Точнее, скажем, получить содержимое с японскими иероглифами с дайри можно (хотя сейчас декодер очент кривой и декодирует из \uxxx только кириллицу, но это поправимо), а вот отправить его - никак. cp1251 Пока писал это стал думал над тем можно ли это обойти как-нибудь закодировав, и обнаружил кнопочку Unicode в панели браузера. Судя по всему использование "&#" поможет. Надо будет попробовать. Вот в общем это первое чем я займусь, а то как красноглазые анимешники будут постить японские смайлы.

Ну и я неправильно сказал) Интересно что нужно добавить. Т.е. "Вот если бы была такая фича, то я бы был очень рад и стал ей активно пользоваться, потому что это то что мне давно нужно".
Вот сбор статистики всякой идея интересная, хотя надо думать что именно.

В общем пока, получается, не считая рефакторинга приоритеты такие.
1) Постить юникод
2) Опция для комментирование (по id). 2ым пунктом так как её реализовать в таком виде должно быть очень просто.
3) получение списка постов/умылов
4) что-нибудь со статистикой.

Новая сборка будет в воскресенье вечером (ну или в понедельник ночью). Первые два пункта с вероятностью 0.95 будут реализованы, третий пока кажется маловероятным, но может быть частично.
04.04.2016 в 14:54

Reflendey
Хотел обновить пост, но уже нельзя.

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

В новой сборке 0.2.3 реализована поддержка пунктов 1 и 2 Еще кстати обнаружил интересный баг, но он не специфичен для клиента, а для всего дайри так. В общем внутри тем юникод не работает, а все потому что ";" используется как разделитель.

+ наконец поднял виртуалку с 32битной убунтой для 32битных сборок.
github.com/capgelka/hapidry/releases/tag/v0.2.3 скачать новую версию можно тут.

На этой неделе планирую наконец реализовать чтение постов и умылок + появилась идея как добавить интерактивность и сделать клиент юзабельным для относительно нормального человека, но это едва ли на неделе будет.
07.04.2016 в 12:21

Миру - мир. А Вам - пломбир!
[offtop]Спасибо, интересно, пишите, слежу за обновлениями.[/offtop]
06.01.2017 в 01:45

Reflendey
programming.diary.ru/p211585580.htm из-за заметного промежутка времени, а также относительно больших изменений создал новый пост.
P.S. Идея про интерактивность пока идея, так как потребует много работы, а непонятно кому это нужно.