32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
#!/usr/bin/python3
|
|
|
|
from twitter.twitter_utils import parse_media_file
|
|
|
|
|
|
def archive_media(media_url):
|
|
temp_media_file, filename, size, media_type = parse_media_file(
|
|
media_url)
|
|
with open(f'data/{filename}', 'bw+') as archive_file:
|
|
archive_file.writelines(temp_media_file.readlines())
|
|
archive_file.close()
|
|
temp_media_file.close()
|
|
return filename
|
|
|
|
|
|
def archive_media_status(status):
|
|
try:
|
|
if(not ('retweeted_status' in status._json.keys())):
|
|
if('extended_entities' in status._json.keys()):
|
|
if('media' in status.extended_entities.keys()):
|
|
archive_filenames = []
|
|
for media_dict in status.extended_entities['media']:
|
|
if(media_dict['type'] == 'photo'):
|
|
archive_filenames.append(
|
|
archive_media(media_dict['media_url']))
|
|
elif(media_dict['type'] == 'video'):
|
|
archive_filenames.append(archive_media(
|
|
media_dict['video_info']['variants'][-1:][0]['url']))
|
|
return archive_filenames
|
|
except Exception as e:
|
|
print(e)
|
|
return ''
|