Output captions while downloading profiles

This commit is contained in:
André Koch-Kramer 2016-07-29 16:53:18 +02:00
parent f3a52c6f4d
commit 8524c8a2f2

View File

@ -136,11 +136,11 @@ def download_pic(name, url, date_epoch, outputlabel=None, quiet=False):
outputlabel = epoch_to_string(date_epoch) outputlabel = epoch_to_string(date_epoch)
filename = name.lower() + '/' + epoch_to_string(date_epoch) + '.' + get_file_extension(url) filename = name.lower() + '/' + epoch_to_string(date_epoch) + '.' + get_file_extension(url)
if os.path.isfile(filename): if os.path.isfile(filename):
log(outputlabel + ' exists', end=' ', flush=True, quiet=quiet) log(outputlabel + ' exists', end=' ', flush=True, quiet=quiet)
return False return False
resp = get_anonymous_session().get(url, stream=True) resp = get_anonymous_session().get(url, stream=True)
if resp.status_code == 200: if resp.status_code == 200:
log(outputlabel, end=' ', flush=True, quiet=quiet) log(outputlabel, end=' ', flush=True, quiet=quiet)
os.makedirs(name.lower(), exist_ok=True) os.makedirs(name.lower(), exist_ok=True)
with open(filename, 'wb') as file: with open(filename, 'wb') as file:
resp.raw.decode_content = True resp.raw.decode_content = True
@ -152,11 +152,14 @@ def download_pic(name, url, date_epoch, outputlabel=None, quiet=False):
def save_caption(name, date_epoch, caption, quiet=False): def save_caption(name, date_epoch, caption, quiet=False):
filename = name.lower() + '/' + epoch_to_string(date_epoch) + '.txt' filename = name.lower() + '/' + epoch_to_string(date_epoch) + '.txt'
pcaption = caption.replace('\n', ' ').strip()
output = '[' + ((pcaption[:26]+"") if len(pcaption)>28 else pcaption) + ']'
if os.path.isfile(filename): if os.path.isfile(filename):
with open(filename, 'r') as file: with open(filename, 'r') as file:
file_caption = file.read() file_caption = file.read()
if file_caption == caption: if file_caption == caption:
log('txt unchanged', end=' ', flush=True, quiet=quiet) output = output + ' unchanged'
log(output, end=' ', flush=True, quiet=quiet)
return None return None
else: else:
def get_filename(index): def get_filename(index):
@ -167,8 +170,8 @@ def save_caption(name, date_epoch, caption, quiet=False):
i = i + 1 i = i + 1
for index in range(i, 0, -1): for index in range(i, 0, -1):
os.rename(get_filename(index-1), get_filename(index)) os.rename(get_filename(index-1), get_filename(index))
log('txt updated', end=' ', flush=True, quiet=quiet) output = output + ' updated'
log('txt', end=' ', flush=True, quiet=quiet) log(output, end=' ', flush=True, quiet=quiet)
os.makedirs(name.lower(), exist_ok=True) os.makedirs(name.lower(), exist_ok=True)
with open(filename, 'w') as text_file: with open(filename, 'w') as text_file:
text_file.write(caption) text_file.write(caption)
@ -336,6 +339,8 @@ def download(name, session, profile_pic_only=False, download_videos=True,
abs(sleep_min_max[0])) abs(sleep_min_max[0]))
if "caption" in node: if "caption" in node:
save_caption(name, node["date"], node["caption"], quiet=quiet) save_caption(name, node["date"], node["caption"], quiet=quiet)
else:
log("<no caption>", end=' ', flush=True, quiet=quiet)
if node["is_video"] and download_videos: if node["is_video"] and download_videos:
video_data = get_json('p/' + node["code"], session) video_data = get_json('p/' + node["code"], session)
download_pic(name, \ download_pic(name, \