remove resume feature
This commit is contained in:
parent
9fbb0eb813
commit
eb1ce5db14
@ -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)
|
||||||
resume_files.insert(
|
|
||||||
0,
|
|
||||||
int(image.split(".")[0].split("_")[0]),
|
|
||||||
)
|
|
||||||
downloaded_counter += 1
|
downloaded_counter += 1
|
||||||
resume_save(resume_files)
|
|
||||||
else:
|
|
||||||
WHILE_BREAK = True
|
|
||||||
break
|
|
||||||
|
|
||||||
current_page += 1
|
current_page += 1
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
Loading…
Reference in New Issue
Block a user