remove resume feature

This commit is contained in:
Alexander Popov 2022-09-16 02:01:52 +03:00
parent 9fbb0eb813
commit eb1ce5db14
Signed by: iiiypuk
GPG Key ID: D8C9B59A9F04A70C
1 changed files with 4 additions and 67 deletions

View File

@ -16,55 +16,6 @@ __license__ = "Unlicense"
DOWNLOAD_DIRECTORY = "./images" DOWNLOAD_DIRECTORY = "./images"
def resume_load():
"""Возвращает список последних 20 загруженных файлов"""
# Проверяет наличие файла .resume
if not os.path.exists(
"{0}/.resume".format(
DOWNLOAD_DIRECTORY,
)
):
# Создаёт директорию для загрузки сисек
if not os.path.exists(DOWNLOAD_DIRECTORY):
os.mkdir(DOWNLOAD_DIRECTORY)
# Создаёт файл .resume и пишет в него 0
with open(
"{0}/.resume".format(
DOWNLOAD_DIRECTORY,
),
"w",
) as f:
f.write("0")
return [0]
else:
with open(
"{0}/.resume".format(
DOWNLOAD_DIRECTORY,
),
"r",
) as f:
lines = [int(line.split("\n")[0]) for line in f][-20:]
return lines
def resume_save(donwloaded_list):
"""Сохраняет список последних 20 загруженных файлов"""
donwloaded_list.sort()
with open(
"{0}/.resume".format(
DOWNLOAD_DIRECTORY,
),
"w",
encoding="utf-8",
) as f:
for item in donwloaded_list[-20:]:
f.write("{0}\n".format(item))
def get_images_links(page): def get_images_links(page):
"""В качестве аргумента получает номер страницы """В качестве аргумента получает номер страницы
и возвращает списком адреса всех изображений""" и возвращает списком адреса всех изображений"""
@ -125,23 +76,18 @@ def image_download(image):
if __name__ == "__main__": if __name__ == "__main__":
"""Главный цикл программы""" """Главный цикл программы"""
resume_files = resume_load() if not os.path.exists(DOWNLOAD_DIRECTORY):
os.mkdir(DOWNLOAD_DIRECTORY)
current_page = 0 current_page = 0
downloaded_counter = 0 downloaded_counter = 0
WHILE_BREAK = False
while True: while True:
try: try:
# Получаем адреса изображений и сортируем их в порядке возрастания # Получаем адреса изображений и сортируем их в порядке возрастания
images = get_images_links(current_page) images = get_images_links(current_page)
images.sort() images.sort()
# Костыль
if WHILE_BREAK:
break
# По очереди скачиваем изображения # По очереди скачиваем изображения
for image in images: for image in images:
# На сайте могут обновляться изображения, # На сайте могут обновляться изображения,
@ -169,17 +115,8 @@ if __name__ == "__main__":
# Если в списке resume присутствует текущий загружаемый файл # Если в списке resume присутствует текущий загружаемый файл
# тогда цикл программы останавливается. # тогда цикл программы останавливается.
# P.S. смотри на костыль WHILE_BREAK # P.S. смотри на костыль WHILE_BREAK
if not int(image.split(".")[0].split("_")[0]) in resume_files: image_download(image)
image_download(image) downloaded_counter += 1
resume_files.insert(
0,
int(image.split(".")[0].split("_")[0]),
)
downloaded_counter += 1
resume_save(resume_files)
else:
WHILE_BREAK = True
break
current_page += 1 current_page += 1
except KeyboardInterrupt: except KeyboardInterrupt: