Skip to content

NSO-Clio/Schedule-Slider-GoogleSheets

Repository files navigation

Schedule-Slider-GoogleSheets

Веб заставка ввиде слайдера расписания

Другие языки

Заказчик

Данная заставка была разработанна по заказу МАОУ Лицей №22 "Надежда Сибири" в Новосибирской области, город Новосибирск 2024 год.

Подключение аккаунта и всей таблицы

  • Вам понадобиться ключ разработчика google для вашей таблици с расписанием

  • Ключ разработчика(json файл), который вы сохраните нужно переименовать как «TimeTable_serviceAcc»

  • После чего в коде файла api.py где указан url в кавычки вставить свой, а именно ссылка на вашу таблицу

  • После чего в переменных id_gid_one_sm и id_gid_two_sm укать id таблиц, которые сделаны для расписания классов. Id страници указан в ссылке после слова «gid» в данном примере id 0

tw = TableWorker(
    url='YOUR_URL',
    id_gid_one_sm=[YOUR_ID],
    id_gid_two_sm=[YOUR_ID],
    id_gid_consult=[YOUR_ID],
    path_service_account='TimeTable_serviceAcc.json'
)

Запуск приложения

После того как вы сделаете все пункты выше вам придётся скачать все библиотеки, которые используются в API, и запустить файл api.py. Через консоль, открыв её внутри рабочей папки и прописать

  • Скачиваем библиотеки
pip install -r requirements.txt
  • Запускаем API
python api.py

Потом в браузере перейти в по ссылке http://localhost:5000/ и включить полноэкранный режим.

Приложение запущено можно пользоваться

  • пролистование происходит по таймеру в файле templates/time_table_for_class.html , по умолчанию стоит 9 секунд, строки 239 - 254
<script>
    $(document).ready(function () {
        $(".slider").slick({
            slidesToShow: 1,
            slidesToScroll: 2,
            infinite: true,
            centerMode: true,
            centerPadding: "50px",
            autoplay: true,
            autoplaySpeed: YOUR_TIME,
        });
        $(".slick-prev").text("");
        $(".slick-next").text("");
    });

</script>
  • ежедневное происходит в файле templates/time_table_for_class.html , по умолчанию оно происходит в 00:03 🕥 , строки 256 - 274
<script>
    function refreshAt(hours, minutes, seconds) {
    var now = new Date();
    var then = new Date();

    if(now.getHours() > hours ||
       (now.getHours() == hours && now.getMinutes() > minutes) ||
        now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
        then.setDate(now.getDate() + 1);
    }
    then.setHours(hours);
    then.setMinutes(minutes);
    then.setSeconds(seconds);

    var timeout = (then.getTime() - now.getTime());
    setTimeout(function() { window.location.reload(true); }, timeout);
}
refreshAt(YOUR_HOUR,YOUR_MINUT,0);
</script>

Дополнительные заметки по администрированию

  • Расписание для классов должно быть одного стиля для первой, второй смены и расписания консультаций

Пример:

  • Первая смена

  • Вторая смена

  • Консультации

Пример google таблици можно посмотреть по ссылке https://docs.google.com/spreadsheets/d/1ef__SA0CMETxDydDADxHaUU10-NLQmL6T16MOYVUznI/edit#gid=0

Наши контакты

Андреасян Егор Андреасович:

BackEnd and FullStack Dev

Пясковский Александр Михайлович:

FrontEnd and FullStack Dev

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published