Error при загрузке файла: 404 Client Error: Not Found for url: https://github.com/Waywardfucker/uto-fa ... -v1.45.rar
Ошибка при извлечении архива: [Errno 2] No such file or directory: 'update.rar'
Произошла ошибка при обновлении программы: [WinError 2] Не удается найти указанный файл: 'update.rar'
update.py
import requests
import zipfile
import os
import sys
import shutil
import rarfile
def download_update(url, filename):
try:
response = requests.get(url, stream=True)
response.raise_for_status()
with open(filename, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
except Exception as e:
print(f"Ошибка при загрузке файла: {e}")
def extract_archive(filename, extract_to):
try:
if filename.endswith('.zip'):
with zipfile.ZipFile(filename, 'r') as zip_ref:
zip_ref.extractall(extract_to)
elif filename.endswith('.rar'):
with rarfile.RarFile(filename, 'r') as rar_ref:
rar_ref.extractall(extract_to)
else:
print(f"Неизвестный формат архива: {filename}")
except Exception as e:
print(f"Ошибка при извлечении архива: {e}")
def update_program(repo_url, version):
try:
archive_url = f"https://github.com/{repo_url}/releases/ ... rsion}.rar"
archive_filename = "update.rar"
download_update(archive_url, archive_filename)
if not os.path.exists("update_dir"):
os.makedirs("update_dir")
extract_archive(archive_filename, "update_dir")
# Копирование файлов из распакованного архива в текущую директорию
for item in os.listdir("update_dir"):
s = os.path.join("update_dir", item)
d = os.path.join(".", item)
if os.path.isdir(s):
shutil.copytree(s, d, dirs_exist_ok=True)
else:
shutil.copy2(s, d)
# Удаление временной директории и архива
shutil.rmtree("update_dir")
os.remove(archive_filename)
print("Программа успешно обновлена.")
os.execv(sys.executable, [sys.executable] + sys.argv)
except Exception as e:
print(f"Произошла ошибка при обновлении программы: {e}")
if __name__ == '__main__':
if len(sys.argv) != 3:
print("Usage: update.py ")
sys.exit(1)
update_program(sys.argv[1], sys.argv[2])
uto-farm.py
def check_for_updates():
try:
response = requests.get(LATEST_RELEASE_URL, headers=headers)
response.raise_for_status()
latest_release = response.json()
latest_version = latest_release['tag_name']
if latest_version > CURRENT_VERSION:
repo_url = "Waywardfucker/uto-farm"
subprocess.run(['update.exe', repo_url, latest_version])
sys.exit(0)
else:
print("У вас установлена последняя версия.")
except Exception as e:
print(f"Не удалось проверить наличие обновлений. Произошла ошибка: {e}")
Если сможете помочь, буду очень благодарен, я слишком неопытен и не смог решить проблему самостоятельно, но преодолев свое упрямство, решил обратиться сюда.
Учитываю, что возможно неправильно создаю релизы. Или что-то еще, во всяком случае, сам не могу разобраться.
здесь вводим описание изображения
здесь вводим описание изображения
Раньше пробовал работать только с .exe, но там была та же ошибка и я решил попробовать другие варианты.
введите сюда описание изображения
Я пытался всячески менять код, но каждый раз возникали другие проблемы, в том числе проблема была в наклоне экрана. Вот к какому конечному результату я пришел, я честно говоря запутался, но дело не в этом, все выдает ошибки.
import requests
import zipfile
import os
import sys
import shutil
import rarfile
def download_update(url, filename):
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers, stream=True)
response.raise_for_status()
with open(filename, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"Файл {filename} успешно загружен.")
except Exception as e:
print(f"Ошибка при загрузке файла: {e}")
def extract_archive(filename, extract_to):
try:
if filename.endswith('.zip'):
with zipfile.ZipFile(filename, 'r') as zip_ref:
zip_ref.extractall(extract_to)
elif filename.endswith('.rar'):
with rarfile.RarFile(filename, 'r') as rar_ref:
rar_ref.extractall(extract_to)
else:
print(f"Неизвестный формат архива: {filename}")
print(f"Архив {filename} успешно распакован в {extract_to}.")
except Exception as e:
print(f"Ошибка при распаковке архива: {e}")
def update_program(repo_url, version):
try:
archive_url = f"https://github.com/{repo_url}/releases/ ... rsion}.rar"
print(f"Загрузка архива с URL: {archive_url}")
archive_filename = "update.rar"
download_update(archive_url, archive_filename)
extract_archive(archive_filename, "update_dir")
# Копирование файлов из распакованного архива в текущую директорию
for item in os.listdir("update_dir"):
s = os.path.join("update_dir", item)
d = os.path.join(".", item)
if os.path.isdir(s):
shutil.copytree(s, d, dirs_exist_ok=True)
else:
shutil.copy2(s, d)
print("Файлы успешно скопированы.")
# Удаление временной директории и архива
shutil.rmtree("update_dir")
os.remove(archive_filename)
# Удаление текущей программы
current_script = sys.argv[0]
os.chmod(current_script, 0o777) # Установка прав доступа
os.remove(current_script)
print("Программа успешно обновлена и текущий скрипт удален.")
os.execv(sys.executable, [sys.executable] + sys.argv)
except Exception as e:
print(f"Произошла ошибка при обновлении программы: {e}")
if __name__ == '__main__':
if len(sys.argv) != 3:
print("Usage: update.py ")
sys.exit(1)
update_program(sys.argv[1], sys.argv[2])
Подробнее здесь: https://stackoverflow.com/questions/793 ... nd-for-url
Ошибка загрузки файла: 404 Ошибка клиента: не найден для URL-адреса: ⇐ Python
Программы на Python
1735895053
Anonymous
Error при загрузке файла: 404 Client Error: Not Found for url: https://github.com/Waywardfucker/uto-farm/releases/download/v1.45/uto-farm-v1.45.rar
Ошибка при извлечении архива: [Errno 2] No such file or directory: 'update.rar'
Произошла ошибка при обновлении программы: [WinError 2] Не удается найти указанный файл: 'update.rar'
update.py
import requests
import zipfile
import os
import sys
import shutil
import rarfile
def download_update(url, filename):
try:
response = requests.get(url, stream=True)
response.raise_for_status()
with open(filename, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
except Exception as e:
print(f"Ошибка при загрузке файла: {e}")
def extract_archive(filename, extract_to):
try:
if filename.endswith('.zip'):
with zipfile.ZipFile(filename, 'r') as zip_ref:
zip_ref.extractall(extract_to)
elif filename.endswith('.rar'):
with rarfile.RarFile(filename, 'r') as rar_ref:
rar_ref.extractall(extract_to)
else:
print(f"Неизвестный формат архива: {filename}")
except Exception as e:
print(f"Ошибка при извлечении архива: {e}")
def update_program(repo_url, version):
try:
archive_url = f"https://github.com/{repo_url}/releases/download/{version}/uto-farm-{version}.rar"
archive_filename = "update.rar"
download_update(archive_url, archive_filename)
if not os.path.exists("update_dir"):
os.makedirs("update_dir")
extract_archive(archive_filename, "update_dir")
# Копирование файлов из распакованного архива в текущую директорию
for item in os.listdir("update_dir"):
s = os.path.join("update_dir", item)
d = os.path.join(".", item)
if os.path.isdir(s):
shutil.copytree(s, d, dirs_exist_ok=True)
else:
shutil.copy2(s, d)
# Удаление временной директории и архива
shutil.rmtree("update_dir")
os.remove(archive_filename)
print("Программа успешно обновлена.")
os.execv(sys.executable, [sys.executable] + sys.argv)
except Exception as e:
print(f"Произошла ошибка при обновлении программы: {e}")
if __name__ == '__main__':
if len(sys.argv) != 3:
print("Usage: update.py ")
sys.exit(1)
update_program(sys.argv[1], sys.argv[2])
uto-farm.py
def check_for_updates():
try:
response = requests.get(LATEST_RELEASE_URL, headers=headers)
response.raise_for_status()
latest_release = response.json()
latest_version = latest_release['tag_name']
if latest_version > CURRENT_VERSION:
repo_url = "Waywardfucker/uto-farm"
subprocess.run(['update.exe', repo_url, latest_version])
sys.exit(0)
else:
print("У вас установлена последняя версия.")
except Exception as e:
print(f"Не удалось проверить наличие обновлений. Произошла ошибка: {e}")
Если сможете помочь, буду очень благодарен, я слишком неопытен и не смог решить проблему самостоятельно, но преодолев свое упрямство, решил обратиться сюда.
Учитываю, что возможно неправильно создаю релизы. Или что-то еще, во всяком случае, сам не могу разобраться.
здесь вводим описание изображения
здесь вводим описание изображения
Раньше пробовал работать только с .exe, но там была та же ошибка и я решил попробовать другие варианты.
введите сюда описание изображения
Я пытался всячески менять код, но каждый раз возникали другие проблемы, в том числе проблема была в наклоне экрана. Вот к какому конечному результату я пришел, я честно говоря запутался, но дело не в этом, все выдает ошибки.
import requests
import zipfile
import os
import sys
import shutil
import rarfile
def download_update(url, filename):
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers, stream=True)
response.raise_for_status()
with open(filename, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
print(f"Файл {filename} успешно загружен.")
except Exception as e:
print(f"Ошибка при загрузке файла: {e}")
def extract_archive(filename, extract_to):
try:
if filename.endswith('.zip'):
with zipfile.ZipFile(filename, 'r') as zip_ref:
zip_ref.extractall(extract_to)
elif filename.endswith('.rar'):
with rarfile.RarFile(filename, 'r') as rar_ref:
rar_ref.extractall(extract_to)
else:
print(f"Неизвестный формат архива: {filename}")
print(f"Архив {filename} успешно распакован в {extract_to}.")
except Exception as e:
print(f"Ошибка при распаковке архива: {e}")
def update_program(repo_url, version):
try:
archive_url = f"https://github.com/{repo_url}/releases/download/{version}/uto-farm-{version}.rar"
print(f"Загрузка архива с URL: {archive_url}")
archive_filename = "update.rar"
download_update(archive_url, archive_filename)
extract_archive(archive_filename, "update_dir")
# Копирование файлов из распакованного архива в текущую директорию
for item in os.listdir("update_dir"):
s = os.path.join("update_dir", item)
d = os.path.join(".", item)
if os.path.isdir(s):
shutil.copytree(s, d, dirs_exist_ok=True)
else:
shutil.copy2(s, d)
print("Файлы успешно скопированы.")
# Удаление временной директории и архива
shutil.rmtree("update_dir")
os.remove(archive_filename)
# Удаление текущей программы
current_script = sys.argv[0]
os.chmod(current_script, 0o777) # Установка прав доступа
os.remove(current_script)
print("Программа успешно обновлена и текущий скрипт удален.")
os.execv(sys.executable, [sys.executable] + sys.argv)
except Exception as e:
print(f"Произошла ошибка при обновлении программы: {e}")
if __name__ == '__main__':
if len(sys.argv) != 3:
print("Usage: update.py ")
sys.exit(1)
update_program(sys.argv[1], sys.argv[2])
Подробнее здесь: [url]https://stackoverflow.com/questions/79325970/file-upload-error-404-client-error-not-found-for-url[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия