Страница 1 из 2

Подключение к сторонним проектам.

Добавлено: Ср ноя 08, 2017 2:01 pm
alexinc
Добрый день.
НА текущий момент разрабатываем проект на Django.
И никак не могу сообразить, как подключить библиотеки для работы с Afanasy. Понятно, что машина, где стоит Django - не сервер, ни рендер. Хотелось бы подключить напрямую в python, sh и прочих обвязок, поскольку уже работа с json реализована и делать ее заново не очень хочется.
Спасибо.

Re: Подключение к сторонним проектам.

Добавлено: Пт ноя 10, 2017 11:19 am
Timur
Здравствуйте.
У Афанасия есть 3 API: JSON, Python и CLI:
http://cgru.info/afanasy/api#page_top

Собственно с сервером можно общаться только по JSON.
Python и afcmd(CLI) могут лишь вам помочь сформитровать правильный JSON объект и правильно его отправить. А также они используются в основном для сабмита задачь и немого для небольшого функционала кипера (для этого и задумывались). Там реализованно далеко не всё что есть в JSON. Если вы хотите пистать своё гуи или как-то ещё "гибко" общаться с сервером, вам понадобиться JSON.

Re: Подключение к сторонним проектам.

Добавлено: Пн ноя 13, 2017 8:53 am
alexinc
Понятно. Тогда можно ли сейчас утверждать, что JSON полностью сформирован на текущий момент и не будет изменятся, а будет только добавляться и расширяться?

Re: Подключение к сторонним проектам.

Добавлено: Пн ноя 13, 2017 9:00 am
Timur
День добрый.
Да, можно.

Re: Подключение к сторонним проектам.

Добавлено: Чт ноя 30, 2017 4:58 pm
paulwinex
Часто поднимается вопрос о создании кастомного GUI или интеграции и везде я вижу совет использовать afcmd. Как с ней работать в целом ясно, но подскажите как работать с сервером напрямую и есть ли в том какой-то профит?
Имею в виду с помощью, например, модуля requests.

Код: Выделить всё

resp = requests.post('localserver:51000', json=json_data).json()
или использовать afnetwork правильно формируя формат запроса

Код: Выделить всё

resp = afnetwork.sendServer(json_data)
Или постоянный вызов процесса afcmd это лучший способ? Хотелось бы узнать все варианты.
Собственно, цель — опрашивать сервер на предмет текущего состояния задач.

Re: Подключение к сторонним проектам.

Добавлено: Чт ноя 30, 2017 8:30 pm
Timur
Спросить что-то у сервера можно только 1 способом - JSON-ом.
Шлите JSON любым способом.
И Afanasy Python API и afcmd тоже шлют json.

Re: Подключение к сторонним проектам.

Добавлено: Пт дек 01, 2017 6:16 am
paulwinex
Ясно. А где посмотреть пример отправки json для получения, скажем, списка хостов или задач? И пример аргументов для таких команд как tlog, по краткой справке самой команды не удалось подобрать правильно.

Re: Подключение к сторонним проектам.

Добавлено: Вс дек 03, 2017 7:08 am
paulwinex
Да, малость ступил. я уже спрашивал это)))
http://data.cgru.info/grafans.ru/viewtopic.php?t=41

Re: Подключение к сторонним проектам.

Добавлено: Вс дек 03, 2017 7:52 pm
Timur
Можно что-то сделать из GUI и посмотреть что было отправленно серверу.
Для этого afwatch надо запустить в терминале (только линух).
Или в веб гуи открыть нетворк лог.

Re: Подключение к сторонним проектам.

Добавлено: Вс дек 03, 2017 8:24 pm
paulwinex
Да, только так и делаю, но не всё понятно. К примеру, как я понял, что-то идет на зарегистрированный монитор, но у меня монитора не будет (пока что), нужно сделать через запрос. Вот тут и начинается поиск наугад. Сделал отдельный вопрос в ветке про интеграции viewtopic.php?f=20&t=41&p=332#p332