This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
twitter_media_tool/lib/archival.py

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 ''