Делаю то, что по определённым причинам не сделали разработчики Платонуса.
ПРОЕКТ ЗАБРОШЕН! ИСПОЛЬЗУЙТЕ НА СВОИ СТРАХ И РИСК!
Эта библиотека предоставляет Python интерфейс для никем незадокументированного и сделанного только для себя REST API Платонуса. Информации о REST API были получены путем снифинга трафика веб приложении и Android клиента, так как в свободном доступе нету ни исходников Платонуса, ни документации (комерческая тайна).
Идея создания своей библиотеки-обертки над Платонусом пришло после несколько месяцев мучении во время использовании веб интерфейса. Веб интерфейс очень кривой, имеет очень огромное количество багов. И у меня увы еще и очень слабый ноутбук, на процессоре Celeron, и Платонус загружается катастрофически медленно, и я решил написать бота для Telegram. Но как выяснилось позже, готовых реализации REST API Платонуса нету. Тут я загорелся идеей сделать это.
- Я учусь в колледже и имею доступ только к возможностям студента и не более, соответственно в библиотеке реализован только функционал студента - я не могу реализовать то, к чему я не имею доступ. Ни функции учителя, ни админа не реаизовано, т.к. надо имеет доступ к этим фнукциям и снифить запросы каждого обьекта/функции. Если у кого-то есть доступ к админ или учительской панели Платонуса, и есть желание реализовать это в библиотеке, просьба помочь.
- Так же проблема описанная выше, касается и для учащихся университета - в библиотеке реализован функционал ориентированный для колледжа, но думаю большинство методов/функции/JSON ответов схожи с колледжом. Но самое главное лед сломан, путь открыт, дорога показана.
- Еще одна проблема - Платонус имеет очень много версии: начиная от ~2.00 до ~5.70, и предусмотреть все изменении не возможно, это усложняется тем что нету документации. Например адресс REST API метода
menuTimeDate
, который возвращает серверное время Платонуса, менялся в разных версиях Платонуса, пока точно не известно, в каких конкретных версиях
В данное время Вы можете установить библиотеку из исходного кода с помощью pip:
$ pip3 install git+https://github.com/ZhymabekRoman/platonus_api_wrapper
Для работы с бибилотекой нужно впервую очередь импортировать и инициализировать экземпляр класса PlatonusAPI и в качестве аргументов передать главный адресс Платонуса:
import logging
from platonus_api_wrapper import PlatonusAPI
logging.basicConfig(level=logging.DEBUG)
platonus_session = PlatonusAPI("http://test4.platonus.kz")
...
Больше кода вы можете найти в файле test.py
Ее нету и не будет.
Внесение своего вклада максимально приветствуется! Есть перечень пунктов, который стоит соблюдать. Каждый пункт перечня расписан в CONTRIBUTING.