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 are 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.
Source Distribution
Built Distribution
File details
Details for the file nure_tools-1.7.0.tar.gz
.
File metadata
- Download URL: nure_tools-1.7.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c20a1d33b148721c442cd66f3cfebfb7d696dbf59ce420b7500895ff654f7376 |
|
MD5 | 2d40f5134feb78e5f2a698c796abefcf |
|
BLAKE2b-256 | 3734eb256c95b2ae6326ce8f798258fb44009acc9c7b86418516014454302380 |
File details
Details for the file nure_tools-1.7.0-py3-none-any.whl
.
File metadata
- Download URL: nure_tools-1.7.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a262c5b9f156cfe66c47c8bcd37b7c9cd63facd55d4297e8c34f425c0a94337f |
|
MD5 | f69ef867ccf5da25c3b98b7734c3b5cc |
|
BLAKE2b-256 | bfcb601cc0c66de27a7f1705cb6d70b8a848f3c8ca19c02a7ff22908183d3b01 |