forked from Krautspace/doorstatus
funktion send_toot() hinzu
This commit is contained in:
parent
edece83dd1
commit
930ab7eef3
1 changed files with 36 additions and 3 deletions
|
@ -15,7 +15,7 @@ import socket
|
||||||
import ssl
|
import ssl
|
||||||
import sys
|
import sys
|
||||||
from mastodon import Mastodon
|
from mastodon import Mastodon
|
||||||
from time import time, sleep
|
from time import time, localtime, strftime, sleep
|
||||||
import configparser
|
import configparser
|
||||||
|
|
||||||
|
|
||||||
|
@ -103,6 +103,37 @@ def receive_buffer_is_valid(raw_data):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def send_toot(status, timestamp, host, token):
|
||||||
|
'''
|
||||||
|
param1: boolean
|
||||||
|
param2: integer
|
||||||
|
param3: string
|
||||||
|
param4: string
|
||||||
|
return: boolean
|
||||||
|
'''
|
||||||
|
msg = None
|
||||||
|
timeformat = '%d.%m.%Y %H:%M Uhr'
|
||||||
|
if status not in (True, False):
|
||||||
|
logging.error('Invalid status to toot')
|
||||||
|
return False
|
||||||
|
timestring = strftime(timeformat, localtime(timestamp))
|
||||||
|
|
||||||
|
logging.debug('Try to toot status to {}'.format(host))
|
||||||
|
if status == True:
|
||||||
|
msg = 'The krautspace is open since: {}'.format(timestring)
|
||||||
|
elif status == False:
|
||||||
|
msg = 'The krautspace is closed since: {}'.format(timestring)
|
||||||
|
logging.debug('Send message: {}'.format(msg))
|
||||||
|
try:
|
||||||
|
mastodon = Mastodon(api_base_url = host,
|
||||||
|
access_token = token)
|
||||||
|
mastodon.toot(mag)
|
||||||
|
except Exception as e:
|
||||||
|
logging.error('Failed to toot status')
|
||||||
|
return False
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def change_status(status, timestamp, filename):
|
def change_status(status, timestamp, filename):
|
||||||
'''
|
'''
|
||||||
Write the new status together with a timestamp into the Space API JSON.
|
Write the new status together with a timestamp into the Space API JSON.
|
||||||
|
@ -169,7 +200,7 @@ def get_status_and_time(raw_data):
|
||||||
Create a timestamp, changes the value of the given byte into a string
|
Create a timestamp, changes the value of the given byte into a string
|
||||||
and returns both.
|
and returns both.
|
||||||
param 1: byte object
|
param 1: byte object
|
||||||
return: tuple
|
return: tuple (boolean, integer)
|
||||||
'''
|
'''
|
||||||
status = True if raw_data.decode('utf-8', 'strict') == '1' else False
|
status = True if raw_data.decode('utf-8', 'strict') == '1' else False
|
||||||
timestamp = int(str(time()).split('.')[0])
|
timestamp = int(str(time()).split('.')[0])
|
||||||
|
@ -302,7 +333,9 @@ def main():
|
||||||
if change_status(status, timestamp, config['api']['api']) is True:
|
if change_status(status, timestamp, config['api']['api']) is True:
|
||||||
answer = raw_data
|
answer = raw_data
|
||||||
if config['mastodon']['send'].lower() == 'true':
|
if config['mastodon']['send'].lower() == 'true':
|
||||||
logging.debug('Try to toot status')
|
send_toot(status, timestamp,
|
||||||
|
config['mastodon']['host'],
|
||||||
|
config['mastodon']['token'])
|
||||||
else: logging.debug('Toot is set to false')
|
else: logging.debug('Toot is set to false')
|
||||||
if conn:
|
if conn:
|
||||||
logging.debug('Send {} back'.format(raw_data))
|
logging.debug('Send {} back'.format(raw_data))
|
||||||
|
|
Loading…
Reference in a new issue