-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Объект принимает логин и пароль от аккаунта ученика в Дневнике. (Библиотека правильно работает, если входить с аккаунта ученика. С аккаунтов родителей или учителей пока тесты не проводились)
from dnevnikru import Dnevnik
dairy = Dnevnik(login="Ваш логин", password="Ваш пароль")
Этот метод парсит домашнюю работу и возвращает словарь, где homeworkCount - количество домашней работы, homework - кортеж с домашними заданиями
datefrom - Дата с которой нужно показать Д/З. (в формате d.m.Y) (По умолчанию текущая дата)
dateto - Дата до которой нужно показать Д/З. (в формате d.m.Y) (По умолчанию +10 дней к datefrom)
studyYear - Используется, когда нужно узнать Д/З за прошлые года
days - Можно использовать вместо dateto. число days прибавляется к дате datefrom (По умолчанию days = 10)
homework = dairy.homework(days=2)
from pprint import pprint
>>>> pprint(homework, sort_dicts=False)
{'homeworkCount': 9,
'homework': (('Алгебра и НА', 'п.1', 'Сегодня 2 урок'),
('Алгебра и НА', 'п.2', 'Сегодня 2 урок'),
('Геометрия', 'п.52', 'Сегодня 4 урок'),
('Инф. и ИКТ', '§1.8.3, с.92-94', 'Сегодня 5 урок'),
('Инф. и ИКТ', '§1.8.3, с.94-95', 'Сегодня 5 урок'),
('Алгебра и НА',
'п.2 № № 8, 11, 12,16,чет 19 (2)',
'21 октября 2021 3 урок'),
('Геометрия',
'№ 456 разобрать№ 455, 457, 462',
'21 октября 2021 4 урок'),
('Рус. язык',
'Пар.79-80.Словарный диктант.Приложение 2.(абажур-алюминий).',
'21 октября 2021 5 урок'),
('Род.язык',
'Итоговое по первому направлению!Сочинение!Принести черновик!',
'21 октября 2021 6 урок'))}
Каждый элемент списка соответствует элементу в таблице оценок. (Номер предмета, предмет, оценки, пропуски, опоздания и т. д.)
index - Отвечает за год обучения (По умолчанию пустое значение, вернется текущий год)
period - Отвечает за период (По умолчанию пустое значение, вернется текущий период)
marks = dairy.marks()
>>>> pprint(marks)
(['1', 'Алгебра и НА', '555', '0', '6', '3', '2', ''],
['2', 'Англ. язык', '555', '0', '6', '2', '4,5', ''],
['3', 'Биология', '', '0', '0', '0', '', ''],
['4', 'Геометрия', '555', '0', '4', '3', '4', ''],
['5', 'Инф. и ИКТ', '555', '0', '10', '6', '', ''],
['6', 'ИПД', '555', '0', '2', '1', '', ''],
['7', 'История', '555', '0', '3', '2', '3', ''],
['8', 'Литература', '555', '0', '15', '2', '', ''],
['9', 'ОБЖ', '555', '0', '1', '1', '5', ''],
['10', 'Реш. физ. задач', '555', '0', '2', '1', '', ''],
['11', 'Реш.задач по матем', '555', '0', '2', '1', '', ''],
['12', 'Род.язык', '555', '0', '1', '1', '', ''],
['13', 'Рус. язык', '555', '0', '2', '1', '4', ''],
['14', 'Физика', '555', '0', '14', '6', '3,5', ''],
['15', 'Физкультура', '555', '0', '8', '3', '', ''],
['16', 'Химия', '555', '0', '4', '1', '', ''])
name - Поиск по имени (Можно искать в разных форматах: ФИ, ФИО, имя, фамилия, и т. д.)
grade - Поиск по классу (Можно искать в разных форматах: 7а, 8Б, 11.1 - для тех, у кого цифры, а не буквы)
group - Среди какой группы искать (Доступные группы: all, students, staff, director, management, teachers, administrators) (По умолчанию all)
aleksandr_8b = dairy.searchpeople(name="Александр", grade="8Б")
>>>> pprint(aleksandr_8b, sort_dicts=False)
{'peopleCount': 8,
'people': (('З***а Александра Сергеевна', 'Ученик'),
('К***в Александр Юрьевич', 'Родитель'),
('К***а Юлия Александровна', 'Ученик'),
('К***в Андрей Александрович', 'Родитель'),
('К***а Елена Александровна', 'Родитель'),
('С***я Ольга Александровна', 'Родитель'),
('С***а Александр Иванович', 'Ученик'),
('С***а Иван Александрович', 'Родитель'))}
day: int - День (По умолчанию текущий день)
month: int - Месяц (По умолчанию текущий месяц)
group - Среди какой группы искать (Доступные группы: all, students, staff, class) (По умолчанию all) (class - одноклассники текущего юзера)
birthdays = dairy.birthdays(day=9, month=5)
>>>> pprint(birthdays, sort_dicts=False)
{'birthdaysCount': 3,
'birthdays': ('П***в Александр Павлович',
'К***а Софья Михайловна',
'П***в Ярослав Иванович')}
Позволяет получить результаты недели (информация берется от сюда http://dnevnik.ru/currentprogress/choose?userComeFromSelector=True)
info - тип результатов (Доступные типы - "themes", "attendance", "marks", "schedule", "homeworks") (По умолчанию schedule, т.е. расписание)
weeks - Сдвиг по неделям (По умолчанию 0, т.е. текущая неделя. Для прошедших недель используется отрицательное число)
schedule = dairy.week() # Можно не писать info="schedule", так как это значение по умолчанию
{'student': 'Владимир Путин, МБОУ СОШ № 1, 7-А, 2021 / 2022, с 18.10 по '
'24.10',
'schedule': {'понедельник': ('Реш. физ. задач',
'Англ. язык',
'Реш.задач по матем',
'Химия',
'Физика'),
'вторник': ('Физика',
'Физика',
'Литература',
'Литература',
'История',
'Физкультура'),
'среда': ('История',
'Алгебра и НА',
'Физкультура',
'Геометрия',
'Инф. и ИКТ',
'Инф. и ИКТ'),
'четверг': ('Физика',
'Физика',
'Алгебра и НА',
'Геометрия',
'Рус. язык',
'Род.язык'),
'пятница': ('Англ. язык',
'ИПД',
'Алгебра и НА',
'Алгебра и НА',
'Литература',
'Физкультура'),
'суббота': ('Физика',
'Англ. язык',
'ОБЖ',
'Инф. и ИКТ',
'Инф. и ИКТ'),
'воскресенье': ()}}
attendance = dairy.week(info="attendance") # attendance - посещаемость
>>>> pprint(attendance)
{'student': 'Владимир Путин, МБОУ СОШ № 1, 7-А, 2021 / 2022, с 18.10 по '
'24.10',
'attendance': ('19.10.2021 — н, н', '20.10.2021 — н')}