Skip to content

Некорректно парсит расписание зачетной сессии некоторых групп #2

Open
@kvasnikoff

Description

@kvasnikoff

Привет! Клонировал проект, Pycharm установил необходимые библиотеки из requirements.txt. Запустил программу в режиме 3) Загрузить расписание с сайта МИРЭА и сформировать файл БД SQLite3.
При парсиннге файла "xls/zach/зач_экз_КБиСП_2 курс магистров_зима.xls", а конкретно группы "БСМО-01-20", выдает ошибку

File "/parser_mirea/reader.py", line 198, in get_day_num
    return self.days_dict[day_name.upper()]
AttributeError: 'float' object has no attribute 'upper'

Проверил, в day_name содержится число 112.0. По сути day_name – это day_num_col.value, которое считается как xlsx_sheet.cell(lesson_num, group_name_row.index(group_name_cell) - 5). При обычном расписании зачетов все работает, мы считаем 5 клеток влево и получаем день недели:
Screenshot 2022-01-16 at 13 37 03

Но у файлов

  • зач_экз_КБиСП_1 курс магистров_зима
  • зач_экз_КБиСП_2 курс магистров_зима
  • ИТХТ_зач_бак_1к_21-22_осень
  • ИТХТ_зач_бак_2к_21-22_осень
  • ИТХТ_зач_бак_3к_21-22_осень
  • ИТХТ_зач_бак_4к_21-22_осень
    темплейт другой (насколько я понимаю, экзаменационный):

Screenshot 2022-01-16 at 13 37 51

Из-за этого вместо дня недели при group_name_row.index(group_name_cell) - 5 получается клетка с номером аудитории последней группы справа в расписании.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions