Skip to main content

package for parsing schedule of Dubna

Project description

dubna_parser

Библиотека для парсинга расписания университета Дубна из Excel-таблиц и скачивания таблиц из Google Docs по их URL. Это минимально рабочая версия, которая уже справляется с основными задачами, но может иметь небольшие артефакты. Если готовы мириться с небольшими шероховатостями, эта библиотека поможет автоматизировать работу с расписанием!

Возможности

  • Скачивание таблиц из Google Docs по URL с помощью функции download_sheets.
  • Парсинг расписания университета Дубна из Excel-файлов в указанной папке через функцию parser.parse.
  • Простая структура, минимум зависимостей.

Установка

Вариант 1: Установка через PyPI

Библиотека доступна на PyPI под названием dubna-schedule-parser. Установите её с помощью:

pip install dubna-schedule-parser

Вариант 2: Установка из исходников

  1. Клонируйте репозиторий:

    git clone https://github.com/Skelesheit/dubna-parser.git
    cd dubna-parser
    
  2. Установите необходимые зависимости (Python 3.9):

    pip install -r requirements.txt
    

    Примечание: Убедитесь, что установлены библиотеки gdown для работы с Google Docs и openpyxl для работы с Excel.

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

Скачивание таблиц из Google Docs

Для загрузки таблиц используйте функцию download_sheets. Нужно указать файл (например, links.txt), содержащий URL-адреса Google Sheets. Пример:

  1. Создайте файл links.txt с URL-адресами таблиц (по одному URL на строку):

    https://docs.google.com/spreadsheets/d/your_spreadsheet_id/edit
    https://docs.google.com/spreadsheets/d/another_spreadsheet_id/edit
    
  2. Используйте функцию для скачивания:

    from dubna_parser import download_sheets
    
    # Укажите путь к файлу с URL
    download_sheets("links.txt", output_path="downloaded_schedules")
    

    Это скачает таблицы в папку downloaded_schedules в формате Excel.

Парсинг расписания

Для парсинга расписания из Excel-файлов в указанной папке используйте функцию parser.parse. Данные извлекаются сразу из всех таблиц в папке, и результат можно вывести или использовать дальше. Пример:

from dubna_parser import parser

# Укажите путь к папке с Excel-файлами
folder_path = "downloaded_schedules"
result = parser.parse(folder_path)

# Результат — данные расписания (например, словарь или список)
print(result)  # Можно вывести или использовать в своих целях

Текущий статус

  • Версия: Минимально рабочая, но не полностью стабильная.
  • Известные проблемы:
    • Возможны небольшие артефакты при парсинге кривых таблиц.
  • Планы:
    • Улучшение стабильности парсинга.
    • Добавление поддержки дополнительных форматов расписания.
    • Расширение документации и примеров.

Примеры и тесты

В папке репозитория есть два тестовых файла:

  • test_download.py — проверяет работу функции download_sheets.
  • test_parse.py — проверяет работу функции parser.parse.

Запустите их, чтобы проверить функциональность библиотеки:

python test_download.py
python test_parse.py

Зависимости

  • Python 3.9
  • gdown для скачивания таблиц из Google Docs
  • openpyxl для чтения Excel-файлов

Полный список зависимостей находится в requirements.txt.

Контрибьютинг

Хотите помочь? Создавайте issues для багов или идей, делайте pull requests. Перед отправкой PR убедитесь, что код проходит тесты и соответствует PEP8.

Лицензия

MIT License. Подробности в файле LICENSE.

Контакты

Вопросы или предложения? Пишите в issues или автору — Skelesheit.

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

dubna_parser-0.1.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dubna_parser-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file dubna_parser-0.1.0.tar.gz.

File metadata

  • Download URL: dubna_parser-0.1.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for dubna_parser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9139b82521b04edc8c713c7ab7200b3238a6bdaf62a661587226d241fd1c260a
MD5 f53de78a411d9421875223cc4c16f8a5
BLAKE2b-256 2ad3792daf2d7c07b335cb42dfbac242e370c0794dd0f4d9a424e2338f704f1b

See more details on using hashes here.

File details

Details for the file dubna_parser-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dubna_parser-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for dubna_parser-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6920054fc43f61b767de48b163c64e8ddf70037f2e224bbfb726c808c43ff671
MD5 e20c224a647d908edf1efc8237c60ae2
BLAKE2b-256 bd92dde118bfdf11930dcb43d453de26b035d00d4ccafdd00e7f09f3adfcd8ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page