Автообновление Python с использованием запросов и попробуйте, но не работает - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь добавить некоторые функциональные возможности обновления в мой проект Python, над которым я работаю.

Для этого я сначала определил версию проекта в верхней части моего проекта. Позже я получил некоторый код, который внутри блока try / исключением посещает URL через запросы на получение номера версии.

Код должен сравнивать два кода, и если они не совпадают, предложите пользователю обновить и начать загрузку более новой версии.

Мой код пропускает блок try / исключением, продолжая и то, и другое без выполнения .. Что я сделал не так?

Примечание. Я упустил некоторые части скрипта для удобства чтения.

    try:
        print("Checking for updates...")
        vercheck = requests.get(
            "https://pastebin.com/fMvQX8Nk").text.rstrip().split("|")
        if not vercheck[0] == selfbotversion:
            print(colored("There is an update available, Would you like to download it?", menucolour))
            verchoice = input("(Y/N): ")
            if verchoice.lower() == "y":
                clear()

                @animation.wait(colored('Downloading update, Please Wait ', menucolour))
                def run_update():
                    update = requests.get('https://github.com/redacted/redacted-redacted/archive/master.zip')
                    print("Update downloaded, Installing...")
                    return update

                update = run_update()
                with open("update.zip", "wb") as handle:
                    handle.write(update.content)
                try:
                    shutil.copy("config.py", "config_old.py")
                except Exception:
                    pass
                try:
                    shutil.unpack_archive("update.zip")
                    copy_tree("Public-master/", ".")
                    os.remove("update.zip")
                    shutil.rmtree("redacted-redacted-master/")
                    print("Update complete, exiting.")
                except Exception as e:
                    print("Error Updating, {}".format(e))
                time.sleep(3)
                sys.exit()
    except Exception as e:
        print("Error Updating")

Если я делаю этот код вне блока try / исключением, он запускается, поэтому проблема должна быть в чем-то другом.

        vercheck = requests.get(
            "https://raw.githubusercontent.com/redacted/redacted-redacted/master/version").text.rstrip().split("|")
            if not vercheck[0] == selfbotversion:
        print(vercheck[0])

Любая помощь приветствуется, так как я все еще изучаю Python! Спасибо

1 Ответ

0 голосов
/ 21 июня 2019

Я не совсем уверен, что именно я сделал, чтобы исправить это в конце, но я думаю, что проблема сводилась к неправильному импорту модулей.

В итоге я просто скопировал и вставил свой код в чанки и исправилошибки по мере их появления, а не загрузки всего вместе, где я обнаружил, пропустили печать множества ошибок, которые в первую очередь вызывали мои проблемы!

...