Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
bfcecc7cf1
2 changed files with 26 additions and 10 deletions
22
delojza.py
22
delojza.py
|
@ -6,6 +6,7 @@ import os
|
||||||
import pprint
|
import pprint
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
@ -14,6 +15,7 @@ from datetime import datetime, timedelta
|
||||||
from glob import glob
|
from glob import glob
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from random import random
|
from random import random
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
import acoustid
|
import acoustid
|
||||||
import filetype
|
import filetype
|
||||||
|
@ -72,6 +74,8 @@ class DelojzaBot:
|
||||||
if tumblr_name and tumblr_keys:
|
if tumblr_name and tumblr_keys:
|
||||||
self.tumblr_name = tumblr_name
|
self.tumblr_name = tumblr_name
|
||||||
self.tumblr_client = pytumblr.TumblrRestClient(*tumblr_keys)
|
self.tumblr_client = pytumblr.TumblrRestClient(*tumblr_keys)
|
||||||
|
else:
|
||||||
|
self.tumblr_client = None
|
||||||
|
|
||||||
self.protected_chats = protected_chats or []
|
self.protected_chats = protected_chats or []
|
||||||
self.protected_tags = protected_tags or []
|
self.protected_tags = protected_tags or []
|
||||||
|
@ -188,15 +192,19 @@ class DelojzaBot:
|
||||||
'preferredcodec': 'mp3',
|
'preferredcodec': 'mp3',
|
||||||
'preferredquality': '256'
|
'preferredquality': '256'
|
||||||
}]
|
}]
|
||||||
|
ytdl['postprocessor_args'] = ['-ar', '44100']
|
||||||
filenames = []
|
filenames = []
|
||||||
with youtube_dl.YoutubeDL(ytdl) as ytdl:
|
with youtube_dl.YoutubeDL(ytdl) as ytdl:
|
||||||
|
attempts = 0
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
ytdl.download(urls)
|
ytdl.download(urls)
|
||||||
break
|
break
|
||||||
except DownloadError as exc:
|
except DownloadError as exc:
|
||||||
if '403' in str(exc):
|
attempts += 1
|
||||||
|
if '403' in str(exc) and attempts < 5:
|
||||||
self.logger.warning("Received a 403!")
|
self.logger.warning("Received a 403!")
|
||||||
|
sleep(1.357)
|
||||||
if self.markov:
|
if self.markov:
|
||||||
message.reply_text(self.markov.make_sentence)
|
message.reply_text(self.markov.make_sentence)
|
||||||
else:
|
else:
|
||||||
|
@ -325,8 +333,16 @@ class DelojzaBot:
|
||||||
now = cmd_hashtag == 'TUMBLR_NOW'
|
now = cmd_hashtag == 'TUMBLR_NOW'
|
||||||
reply = '(btw, {})'.format("***FIRING TO TUMBLR RIGHT AWAY***" if now else "queueing to tumblr")
|
reply = '(btw, {})'.format("***FIRING TO TUMBLR RIGHT AWAY***" if now else "queueing to tumblr")
|
||||||
message.reply_text(reply, parse_mode=telegram.ParseMode.MARKDOWN)
|
message.reply_text(reply, parse_mode=telegram.ParseMode.MARKDOWN)
|
||||||
for filetitle in filenames:
|
for filename in filenames:
|
||||||
response = self.tumblr_client.create_photo(self.tumblr_name, data=filetitle,
|
if filename.endswith(".mp4"):
|
||||||
|
try:
|
||||||
|
output_filename = filename[:-len(".mp4")] + ".gif"
|
||||||
|
subprocess.check_output(['ffmpeg', '-i', filename, output_filename])
|
||||||
|
filename = output_filename
|
||||||
|
except subprocess.CalledProcessError:
|
||||||
|
message.reply_text("Conversion to gif failed, sorry! Check log...")
|
||||||
|
continue
|
||||||
|
response = self.tumblr_client.create_photo(self.tumblr_name, data=filename,
|
||||||
state="published" if now else "queue")
|
state="published" if now else "queue")
|
||||||
if 'id' in response:
|
if 'id' in response:
|
||||||
tumblr_ids.append(response['id'])
|
tumblr_ids.append(response['id'])
|
||||||
|
|
|
@ -2,27 +2,27 @@
|
||||||
# This file is autogenerated by pip-compile
|
# This file is autogenerated by pip-compile
|
||||||
# To update, run:
|
# To update, run:
|
||||||
#
|
#
|
||||||
# pip-compile
|
# pip-compile --upgrade
|
||||||
#
|
#
|
||||||
asn1crypto==0.24.0 # via cryptography
|
asn1crypto==0.24.0 # via cryptography
|
||||||
audioread==2.1.6 # via pyacoustid
|
audioread==2.1.8 # via pyacoustid
|
||||||
certifi==2019.3.9 # via python-telegram-bot, requests
|
certifi==2019.3.9 # via python-telegram-bot, requests
|
||||||
cffi==1.12.3 # via cryptography
|
cffi==1.12.3 # via cryptography
|
||||||
chardet==3.0.4 # via requests
|
chardet==3.0.4 # via requests
|
||||||
cryptography==2.6.1 # via python-telegram-bot
|
cryptography==2.7 # via python-telegram-bot
|
||||||
filetype==1.0.5
|
filetype==1.0.5
|
||||||
future==0.17.1 # via python-telegram-bot, pytumblr
|
future==0.17.1 # via python-telegram-bot, pytumblr
|
||||||
idna==2.8 # via requests
|
idna==2.8 # via requests
|
||||||
markovify==0.7.1
|
markovify==0.7.1
|
||||||
mutagen==1.42.0
|
mutagen==1.42.0
|
||||||
oauthlib==3.0.1 # via requests-oauthlib
|
oauthlib==3.0.1 # via requests-oauthlib
|
||||||
pyacoustid==1.1.5
|
pyacoustid==1.1.7
|
||||||
pycparser==2.19 # via cffi
|
pycparser==2.19 # via cffi
|
||||||
python-telegram-bot==11.1.0
|
python-telegram-bot==11.1.0
|
||||||
pytumblr==0.0.8
|
pytumblr==0.0.8
|
||||||
requests-oauthlib==1.2.0 # via pytumblr
|
requests-oauthlib==1.2.0 # via pytumblr
|
||||||
requests==2.21.0
|
requests==2.22.0
|
||||||
six==1.12.0 # via cryptography
|
six==1.12.0 # via cryptography
|
||||||
unidecode==1.0.23 # via markovify
|
unidecode==1.0.23 # via markovify
|
||||||
urllib3==1.24.2 # via requests
|
urllib3==1.25.3 # via requests
|
||||||
youtube-dl==2019.4.30
|
youtube-dl==2019.5.20
|
||||||
|
|
Loading…
Reference in a new issue