first commit

This commit is contained in:
Dryusdan 2018-03-08 23:17:54 +01:00
parent 0ec4f915f0
commit 36a9ec862d
3 changed files with 89 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
secrets
secrets/*
saved_media
saved_media/*

View File

@ -1,3 +1,26 @@
# Mastodon_DL_Favorites_Image
# Mastodon DL Favorites Image
This tool permit DL image of your last 40 favs
This tool permit DL image of your last 40 favs
## How to set up
Install Pillow Mastodon.py and requests
`pip install Pillow Mastodon.py requests`
clone it
`git clone https://github.com/Dryusdan/random-unsplash-hour.git`
create `secrets/secrets.txt` and paste this :
```
client_id: looooong
client_secret: veryyyy loooong
access_token: toooo loooooong
mastodon_hostname: miaou.drycat.fr
```
create save_media folder is the same path
## How to run it
```
python dlimage.py
```
:)

60
dlimage.py Normal file
View File

@ -0,0 +1,60 @@
#!/usr/bin/python3
# coding: utf-8
# -*- coding: utf-8 -*-
from PIL import Image
from io import BytesIO
from mastodon import Mastodon
import requests
import os
import sys
import time
import json
import argparse
import math
def get_parameter( parameter, file_path ):
# Check if secrets file exists
if not os.path.isfile(file_path):
print("File %s not found, exiting."%file_path)
sys.exit(0)
# Find parameter in file
with open( file_path ) as f:
for line in f:
if line.startswith( parameter ):
return line.replace(parameter + ":", "").strip()
# Cannot find parameter, exit
print(file_path + " Missing parameter %s "%parameter)
sys.exit(0)
def get_media():
media_attachments = toot.media_attachments
for media in media_attachments:
print(media.url[-20:])
response = requests.get(media.remote_url)
pattern = Image.open(BytesIO(response.content), "r").convert('RGB')
pattern.save('save_media/'+media.url[-20:])
secrets_filepath = "secrets/secrets.txt"
uc_client_id = get_parameter("client_id", secrets_filepath)
uc_client_secret = get_parameter("client_secret", secrets_filepath)
uc_access_token = get_parameter("access_token", secrets_filepath)
mastodon_hostname = get_parameter("mastodon_hostname", secrets_filepath)
mastodon = Mastodon(
client_id = uc_client_id,
client_secret = uc_client_secret,
access_token = uc_access_token,
api_base_url = 'https://' + mastodon_hostname,
)
masto_allfav = mastodon.favourites(None, None, 40)
for toot in masto_allfav:
if toot.account.acct == "bonjourtoutlemonde@hostux.social":
get_media()
else :
if toot.account.acct == "BonjourMadame@hostux.social":
get_media()