Simple pyton library for nure-cist API
Project description
nure_tools python library
Warning The library is still under development. I will be happy to receive any feedback, and you can feel free to improve my code
Simple pyton library for nure-cist API
You can also check out NodeJS library made by OneLil05
And don't forget to star nure-cist-api
PyPi
Installation
(Python 3.10+)
Warning If you using arch-based distro you may need to set venv first and use pip from that place. PyCharm will make it automatically, just type following command in PyCharm terminal.
pip install nure_tools
Functions
Get auditoriums
Example:
import nure_tools
from pprint import pprint
auditoriums = nure_tools.get_auditoriums()
pprint(auditoriums)
Output:
[{'id': '167', 'name': '165-3'},
{'id': '168', 'name': '165-5'},
{'id': '169', 'name': '165-6'},
...
{'id': '1675427', 'name': '166вц'},
{'id': '170', 'name': '167вц'},
{'id': '97', 'name': '287'}]
Find an auditorium
Example:
import nure_tools
print(nure_tools.find_auditorium("165-1"))
Output:
{'id': '165', 'name': '165-1'}
Get groups
Example:
import nure_tools
from pprint import pprint
groups = nure_tools.get_groups()
pprint(groups)
Output:
[{'id': '10887382', 'name': 'ПЗПІ-23-3'},
{'id': '10284397', 'name': 'ЕЕПСу-22-1'},
{'id': '10307166', 'name': 'КУІБ-22-1'},
...
{'id': '10307432', 'name': 'ІСТ-22-1'},
{'id': '10887104', 'name': 'КІУКІ-23-7'},
{'id': '10887108', 'name': 'КІУКІу-23-1'}]
Find a group
Example:
import nure_tools
print(nure_tools.find_group("пзпі-23-2"))
Output:
{'id': '10887378', 'name': 'ПЗПІ-23-2'}
Get teachers
Example:
import nure_tools
from pprint import pprint
teachers = nure_tools.get_teachers()
pprint(teachers)
Output:
[{'full_name': 'Богатов Євген Олегович',
'id': '7067189',
'short_name': 'Богатов Є. О.'},
{'full_name': 'Демчук Вадим Геннадійович',
'id': '11127911',
'short_name': 'Демчук В. Г.'},
...
{'full_name': 'Новіков Юрій Сергійович',
'id': '2145721',
'short_name': 'Новіков Ю. С.'},
{'full_name': 'Новіков Олексій Валентинович',
'id': '7278549',
'short_name': 'Новіков О. В.'}]
Find a teacher
Example:
import nure_tools
from pprint import pprint
pprint(nure_tools.find_teacher("Новіков"))
Output:
[{'full_name': 'Новіков Юрій Сергійович',
'id': '2145721',
'short_name': 'Новіков Ю. С.'},
{'full_name': 'Новіков Олексій Валентинович',
'id': '7278549',
'short_name': 'Новіков О. В.'}]
Get schedule
Example:
import nure_tools
from pprint import pprint
# get_schedule use "%Y-%m-%d %H:%M" date/time pattern by default, but you can change it providing pattern argument
# like in example below
schedule_group = nure_tools.get_schedule('group',
nure_tools.find_group("пзпі-23-2").id,
"2023-09-25",
"2023-09-26",
pattern="%Y-%m-%d"
)
schedule_teacher = nure_tools.get_schedule('teacher',
nure_tools.find_teacher("Новіков О. В.")[0].id,
"2023-09-25 00:00",
"2023-09-26 16:30"
)
schedule_auditorium = nure_tools.get_schedule('auditory',
nure_tools.find_auditorium("287").id,
"2023-09-25 00:00",
"2023-09-26 16:30"
)
pprint(schedule_group)
pprint(schedule_teacher)
pprint(schedule_auditorium)
Output:
[{'auditory': '324і',
'end_time': '1695635400',
'groups': [{'id': '10887378', 'name': 'ПЗПІ-23-2'}],
'id': '78260',
'number_pair': 3,
'start_time': '1695629700',
'subject': {'brief': 'ІМ', 'id': '1021424', 'title': 'Іноземна мова'},
'teachers': [{'full_name': 'Новіков Олексій Валентинович',
'id': '7278549',
'short_name': 'Новіков О. В.'}],
'type': 'Пз',
'updatedAt': '2023-09-24T03:15:06.251Z'}
]
[{'auditory': '287',
'end_time': '1695728700',
'groups': [{'id': '10284309', 'name': 'ПЗПІ-22-2'}],
'id': '78422',
'number_pair': 4,
'start_time': '1695723000',
'subject': {'brief': 'ВдоIT',
'id': '5682810',
'title': 'Введення до IT-бізнесу'},
'teachers': [],
'type': 'Пз',
'updatedAt': '2023-09-24T08:13:39.459Z'},
.........
{'auditory': '287',
'end_time': '1695635400',
'groups': [{'id': '8476408', 'name': 'ПЗПІ-20-8'},
{'id': '8744039', 'name': 'ПЗПІ-20-5'},
{'id': '8476364', 'name': 'ПЗПІ-20-7'},
{'id': '8476572', 'name': 'ПЗПІ-20-9'},
{'id': '8744041', 'name': 'ПЗПІ-20-10'}],
'id': '78421',
'number_pair': 3,
'start_time': '1695629700',
'subject': {'brief': '*ОКР',
'id': '10888509',
'title': '*Основи колективної роботи над проектом'},
'teachers': [],
'type': 'Пз',
'updatedAt': '2023-09-24T08:13:39.439Z'}
]
[{'auditory': '287',
'end_time': '1695629100',
'groups': [{'id': '9291678', 'name': 'ПЗПІ-21-6'}],
'id': '78420',
'number_pair': 2,
'start_time': '1695623400',
'subject': {'brief': 'ПарП',
'id': '1989780',
'title': 'Паралельне програмування'},
'teachers': [{'full_name': 'Кравець Наталя Сергіївна',
'id': '7063375',
'short_name': 'Кравець Н. С.'}],
'type': 'Лб',
'updatedAt': '2023-09-24T08:13:39.429Z'},
.........
{'auditory': '287',
'end_time': '1695622800',
'groups': [{'id': '9291678', 'name': 'ПЗПІ-21-6'}],
'id': '78419',
'number_pair': 1,
'start_time': '1695617100',
'subject': {'brief': 'ПарП',
'id': '1989780',
'title': 'Паралельне програмування'},
'teachers': [{'full_name': 'Кравець Наталя Сергіївна',
'id': '7063375',
'short_name': 'Кравець Н. С.'}],
'type': 'Лб',
'updatedAt': '2023-09-24T08:13:39.420Z'}
]
Licence
nure_tools is GNU GPLv3.0 licenced
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.