Categorygithub.com/chazari-x/hmtpk_parser/v2
modulepackage
2.0.12
Repository: https://github.com/chazari-x/hmtpk_parser.git
Documentation: pkg.go.dev

# README

Парсер ХМТПК

Go Reference Go Report Card License Application Group

Этот пакет предоставляет простой способ получения данных с сайта Ханты-Мансийский технолого-педагогический колледж (ХМТПК).

Получаемые данные

Пакет позволяет получить следующие данные:

  • Расписание занятий для группы
  • Расписание занятий для преподавателя
  • Список групп
  • Список преподавателей
  • Объявления

Установка

Для установки пакета, выполните следующую команду:

go get github.com/chazari-x/hmtpk_parser/v2

Использование

Пример использования:

package main

import (
  "context"
  "fmt"
  
  hmtpk "github.com/chazari-x/hmtpk_parser/v2"
  "github.com/go-redis/redis/v8"
  "github.com/sirupsen/logrus"
)

func main() {
  // Инициализация клиента Redis
  redisClient := redis.NewClient(&redis.Options{
    Addr:     "localhost:6379",
    Password: "",
    DB:       0,
  })
  
  // Создание логгера
  logger := logrus.New()
  
  // Создание экземпляра структуры Controller
  controller := hmtpk.NewController(redisClient, logger)
  
  groupScheduleExample(controller)
  
  teacherScheduleExample(controller)
  
  announcementsExample(controller)
}

func groupScheduleExample(controller *hmtpk.Controller) {
  // Получение списка групп
  groups, err := controller.GetGroupOptions(context.Background())
  if err != nil || len(groups) == 0 {
    fmt.Println("Ошибка при получении списка групп:", err)
    return
  }
  
  // Получение расписания для группы
  groupSchedule, err := controller.GetScheduleByGroup(context.Background(), groups[0].Value, "20.03.2024")
  if err != nil {
    fmt.Println("Ошибка при получении расписания для группы:", err)
    return
  }
  
  // Вывод расписания на экран
  fmt.Println(groupSchedule)
}

func teacherScheduleExample(controller *hmtpk.Controller) {
  // Получение списка преподавателей
  teachers, err := controller.GetTeacherOptions(context.Background())
  if err != nil || len(teachers) == 0 {
    fmt.Println("Ошибка при получении списка преподавателей:", err)
    return
  }
  
  // Получение расписания для преподавателя
  teacherSchedule, err := controller.GetScheduleByTeacher(context.Background(), teachers[0].Value, "20.03.2024")
  if err != nil {
    fmt.Println("Ошибка при получении расписания для преподавателя:", err)
    return
  }
  
  // Вывод расписания на экран
  fmt.Println(teacherSchedule)
}

func announcementsExample(controller *hmtpk.Controller) {
  // Получение списка объявлений
  announcements, err := controller.GetAnnounces(context.Background(), 1)
  if err != nil {
    fmt.Println("Ошибка при получении списка объявлений:", err)
    return
  }
  
  // Вывод объявлений на экран 
  fmt.Println(announcements)
}

Примечание

Данный пакет использует веб-скрейпинг для извлечения данных с сайта Ханты-Мансийского технолого-педагогического колледжа. В случае изменения структуры сайта, пакет может перестать корректно работать. Если вы столкнулись с проблемой, пожалуйста, создайте issue на GitHub.

Лицензия

Этот проект лицензирован в соответствии с условиями лицензии MIT. См. файл LICENSE для получения дополнительной информации.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author

# Structs

No description provided by the author