synergia librus api的python包装
librus-tricks的Python项目详细描述
盒子里是什么?
- 基本缓存系统(基于SQLite)
- 延迟对象加载
- 简化对象
- 错误处理程序
- 一体化登录机制
- 许多内置解决方案(获取未来的考试、获取时间表等)
- 可选的消息支持(只读,基于屏幕抓取)
- docstring(PyCharm、VS IDE、VS Code、IDLE等的帮助)
安装
# Windows # Latest stable pip install librus-tricks # Libs for exams pip install librus-tricks[examples] # Latest sources pip install git+https://github.com/Backdoorek/Librus-Tricks.git@prototype # Latest message support pip install git+https://github.com/Backdoorek/Librus-Tricks.git@web-messages # Linux # Latest stable sudo -H pip3 install librus-tricks # Libs for exams sudo -H pip3 install librus-tricks[examples] # Latest sources sudo -H pip3 install git+https://github.com/Backdoorek/Librus-Tricks.git@prototype # Latest message support sudo -H pip3 install git+https://github.com/Backdoorek/Librus-Tricks.git@web-messages
示例
# Create session (with support for messages, require the same password for Portal Librus and Synergia)fromlibrus_tricksimportcreate_sessionsession=create_session('my@email.com','admin1')# If passwords are differentfromlibrus_tricksimportSynergiaClient,aiosession=SynergiaClient(aio('my@email.com','admin1'),synergia_user_passwd='admin2')# Get selected gradessession.get_grades(selected=(27208160,24040273,21172894))# (<SynergiaGrade 21172894>, <SynergiaGrade 24040273>, <SynergiaGrade 27208160>)# Get future examssession.get_exams()# [<SynergiaExam 2019-03-27 00:00:00 for subject with id 37659>, <SynergiaExam 2019-03-28 00:00:00 for subject with id 37675>, <SynergiaExam 2019-03-26 00:00:00 for subject with id 37670>]# Get timetablesession.get_timetable()# {'2019-03-18': [<TimetableFrame 08:00->08:45 Historia with Krzysztof ...>, <TimetableFrame 08:55->09:40 Wychowanie fizyczne with Artur ...>, <TimetableFrame 09:50->10:35 Wychowanie fizyczne with Arkadiusz ...>, <TimetableFrame 10:50->11:35 Edukacja dla bezpieczeństwa with Arkadiusz ...>, <TimetableFrame 11:45->12:30 Godzina wychowawcza with Elżbieta ...>, <TimetableFrame 12:50->13:35 Język polski with Aleksandra ...>, <TimetableFrame 13:50->14:35 Język polski with Aleksandra ...>], '2019-03-19': [<TimetableFrame 08:00->08:45 Matematyka with Joanna ...>, <TimetableFrame 08:55->09:40 Matematyka with Joanna ...>, <TimetableFrame 09:50->10:35 Geografia with Agnieszka ...>, <TimetableFrame 10:50->11:35 Wiedza o społeczeństwie with Sylwia ...>, <TimetableFrame 11:45->12:30 Język niemiecki with Elżbieta ...>, <TimetableFrame 12:50->13:35 Matematyka with Joanna ...>], '2019-03-20': [<TimetableFrame 08:00->08:45 Chemia with Edyta ...>, <TimetableFrame 08:55->09:40 Religia with Magdalena ...>, <TimetableFrame 09:50->10:35 Język angielski with Krystyna ...>, <TimetableFrame 10:50->11:35 Etyka with Marta ...>, <TimetableFrame 11:45->12:30 Informatyka with Iwona ...>, <TimetableFrame 12:50->13:35 Język angielski with Krystyna ...>, <TimetableFrame 13:50->14:35 Język niemiecki with Elżbieta ...>], '2019-03-21': [<TimetableFrame 08:00->08:45 Język polski with Aleksandra ...>, <TimetableFrame 08:55->09:40 Język polski with Aleksandra ...>, <TimetableFrame 09:50->10:35 Fizyka with Hieronim ...>, <TimetableFrame 10:50->11:35 Wiedza o kulturze with Elżbieta ...>, <TimetableFrame 11:45->12:30 Religia with Magdalena ...>, <TimetableFrame 12:50->13:35 Język angielski with Krystyna ...>, <TimetableFrame 13:50->14:35 Język angielski with Krystyna ...>], '2019-03-22': [<TimetableFrame 08:00->08:45 Wychowanie fizyczne with Arkadiusz ...>, <TimetableFrame 08:55->09:40 Wychowanie fizyczne with Arkadiusz ...>, <TimetableFrame 09:50->10:35 Informatyka with Iwona ...>, <TimetableFrame 10:50->11:35 Matematyka with Joanna ...>, <TimetableFrame 11:45->12:30 Matematyka with Joanna ...>]}# Get messagessession_with_message_support.message_reader.read_messages()# [<Message from aaa Izabella (aaa Izabella) into /wiadomosci/1/5/5983071/f0>, ...]
有关更多示例,请检查examples文件夹
图库
Written with ❤ from a scratch by Krystian
Backdoorek
PostekThanks for guys from librus-client for help with getting into it