# gk11 - first and dirty
Roman Yakovlev(station13, 11) — All
2015-09-11 07:27:32


первый и довольно "грязный" порт ГК11 (сделан из босфора)

https://bitbucket.org/gk11/gk11-srv-dirty

к сожалению, уже плохо помню и peewee, и особенности этого порта, поэтому некоторые вещи там - "лишь бы работали". но, в принципе, это уже готовый концепт-сервер, которому не хватает пары фич в api, нормального профиля пользователя и более чистого кода.

сейчас буду описывать, что там и как.

поле addr - зарезервировано для хэшей, на которые можно будет отослать почту (возможно, потом туда можно будет добавлять и e-mail - суть в том, чтобы оставить координаты для личной связи), поэтому в ii-фетчере (который там есть) поле addr больше не копируется с ii.

создание бд - python initdbs.py. юзеры создаются из веб-интерфейса

# Re: gk11 - first and dirty
Roman Yakovlev(station13, 11) — Roman Yakovlev
2015-09-11 07:43:11


>первый и довольно "грязный" порт ГК11 (сделан из босфора)
>https://bitbucket.org/gk11/gk11-srv-dirty

Запросы для клиента:

Все запросы делаются через url /bb/, и затем идут серии /ключ/значение. Порядок ключей значения не имеет.

В отличие от bosfor, где можно было запрашивать всё, тут есть три типа запросов:

/echolist/* - выдающий имена эх
/msgs/* - выдающий бандлы для указанных сообщений
/echo/* - выдающий msgid для сообщений из эх. если /echo/ не указано, то запрос идёт для всех эх
то есть, запрос /bb/lim/50 выдаст msgid для 50 последних сообщений станции

дополнительная опция: /appendts/1 - самой первой строкой ответа будет текущий timestamp сервера

/echolist/ - имеет несколько вариантов и ключ /cnt/
/echolist/discover - показывает все эхи станции, где есть хотя бы одно сообщение
/echolist/public - показывает только те эхи, которые записаны в public.txt
опции:
/ignore/эха:эха:эха - убирает из списка указанные эхи, если они там есть
/addecho/эха:эха:эха - добавляет к списку указанные эхи, если их там нет
/cnt/1 - к списку эх добавляется список сообщений в каждой эхе

/msgs/msgid:msgid:msgid - получает бандлы (сравнимые с ii-шными) для текущих msgid

/echo/эха:эха:эха - получает msgid для указанных эх (параметр можно опускать, тогда будет для всех эх)
опции:
/lim/число - запросить только указанное СУММАРНОЕ количество сообщений (то есть, если указаны 3 эхи и lim=200 это может быть хоть 10,10,180, хоть 200,0,0, идёт равнение по последним)
/withecho/1 - вместо ответа msigd msgid msgid идёт ответ msigd:эха msgid:эха msgid:эха, то есть к каждому msgid цепляется эха его происхождения
/afrom/timestamp - забирает сообщения, начиная с timestamp (имеется ввиду время прихода на станцию, а не время написания сообщения
/ato/timestamp - забирает сообщения до даты timestamp (аналогично)

вот такие вот запросы