add text information about progress of downloading

This commit is contained in:
Ostap Pankevych 2017-08-03 17:31:14 +03:00
parent d646bccf16
commit 3ee4d2f80f

View File

@ -4,7 +4,7 @@
import vk, os, time
from urllib.request import urlretrieve
token = input("Enter a token: ")
token = input("Enter a token: ") # vk token
#Authorization
session = vk.Session(access_token=str(token))
@ -18,28 +18,50 @@ time_now = time.time() # current time
url = input("Enter a URL of album: ") # url of album
folder_name = input("Enter a name of folder for download photos: ") # fold. for photo
print("-------------------------------------------")
owner_id = url.split('album')[1].split('_')[0] # id of owner
album_id = url.split('album')[1].split('_')[1][0:-1] # id of album
photos_count = vk_api.photos.getAlbums(owner_id=owner_id, album_ids=album_id)[0]['size'] # count of ph. in albums
album_title = vk_api.photos.getAlbums(owner_id=owner_id, album_ids=album_id)[0]['title'] # albums title
photos_information = vk_api.photos.get(owner_id=owner_id, album_id=album_id) # dictionaries of photos information
print("A title of album - {}".format(album_title))
print("Photos in album - {}".format(photos_count))
print("------------------")
if not os.path.exists(folder_name):
os.makedirs(folder_name + '/' + album_title) # creating a folder for download photos
print("Created a folder for photo.")
print("---------------------------")
else:
print("A folder with this name already exists!")
exit()
photos_link = [] # photos link
for i in photos_information:
photos_link.append(i['src_xxbig'])
if not os.path.exists(folder_name):
os.makedirs(folder_name + '/' + album_title) # creating a folder for download photos
qw = 'ok'
else:
print("A folder with this name already exists!")
exit()
photo_name = 0 # photo name
for i in photos_link:
photo_name += 1
urlretrieve(i, folder_name + '/' + album_title + '/' + str(photo_name) + '.jpg') # download photos
try:
urlretrieve(i, folder_name + '/' + album_title + '/' + str(photo_name) + '.jpg') # download photos
count += 1
perc = (100 * count) / photos_count
print("Download {} of {} photos. ({}%)".format(count, photos_count, round(perc, 2)))
except:
print("An error occurred, file skipped.")
breaked += 1
minutes = int((time.time() - time_now) // 60)
seconds = int((time.time() - time_now) % 60)
print("------------------------")
print("Successful download {} photos.".format(count))
print("Skipped {} photos.".format(breaked))
print("Time spent: {}.{} minutes.".format(minutes, seconds))