Skip to content
Данил Пистолетов
Данил Пистолетов
  • Главная
  • Книги
  • Публикации
  • Проекты
  • Обо мне
  • Контакты
Данил Пистолетов

Реализация проверки обновлений скрипта на Python

Данил Пистолетов, 23 июля 202423 июля 2024

Реализация проверки обновлений скрипта на Python с помощью сравнения версий. Будет описан лишь один из вариантов проверки обновлений, можно реализовать несколько разных способов. После написания кода для проверки обновлений решил поискать альтернативы в интернете, из которых мне попалось лишь решение 2012 года для, видимо, ещё второй версии Python. В остальном же речь касалась pip и обновления библиотек, а не конкретных скриптов.

Суть кода очень проста. Для проверки обновлений скрипта на Python загружается актуальная версия скрипта на GitHub, из которой берётся часть с указанной версией и сравнивается с версией используемого скрипта. Если версии отличаются, то программа сообщает об этом и предлагает скачать актуальную версию по ссылке. Если же версия та же, то программа сообщает об актуальности скрипта.

### Указатель в начальной части кода скрипта
version = "1.5"
### Сам код проверки версии
import wget
import os
wget.download("https://raw.githubusercontent.com/DanilPistoletov/flask-chat/main/main.py", "git.html")
with open('git.html') as f:
    s = f.read()
    f.close()
    os.remove("git.html")
    if f"version = \"{version}\"" in s:
        return "Версия чата актуальна"
    else:
        return "Чат устарел, загрузите новую версию по адресу github.com/DanilPistoletov/flask-chat/"

Утилита загружает файл, сверяет, а после удаляет файл. Конечно, можно сделать обработчик ошибок, чтоб в случае проблем с получением файла утилита не «умирала».

version = "1.5"
import wget
import os
try:
    wget.download("https://raw.githubusercontent.com/DanilPistoletov/flask-chat/main/main.py", "git.html")
    with open('git.html') as f:
        s = f.read()
        f.close()
        os.remove("git.html")
        if f"version = \"{version}\"" in s:
            return "Версия чата актуальна"
        else:
            return "Чат устарел, загрузите новую версию по адресу github.com/DanilPistoletov/flask-chat/"
except:
    return "Не удалось проверить обновления"

Если хотите реализовать обновление в самой программе, то можете это сделать, используя тот же GitHub.

update = str(input("Введите 1 для обновления или 0 для отказа от обновления"))
if update == "1":
    import wget
    wget.download("https://raw.githubusercontent.com/DanilPistoletov/flask-chat/main/main.py", "newversion.py")
elif update == "0":
    pass
Статьи

Навигация по записям

Предыдущий пост
Следующий пост

Свежие записи

  • Сайт портфолио художника на Flask
  • FindMePlease — ищем информацию о себе в интернете
  • Как удалить информацию о себе
  • WP-JSON как проблема сайтов на WordPress
  • Как оптимизировать сайт на WordPress

Рубрики

  • Блог
  • Введение в науку
  • Опыт
  • Статьи

Архивы

  • Апрель 2025
  • Февраль 2025
  • Январь 2025
  • Июль 2024
  • Июнь 2024
  • Май 2024
  • Апрель 2024
  • Январь 2024
  • Декабрь 2023
  • Октябрь 2023
© 2025 | Данил Пистолетов