mirror of
https://gitlab.com/jeancf/twoot.git
synced 2024-11-23 20:11:11 +00:00
Login only when there is something to upload
This commit is contained in:
parent
807dad3480
commit
cf856bee08
75
twoot.py
75
twoot.py
|
@ -201,6 +201,42 @@ def is_time_valid(timestamp, max_age, min_delay):
|
|||
|
||||
return ret
|
||||
|
||||
def login(instance, account, password):
|
||||
# Create Mastodon application if it does not exist yet
|
||||
if not os.path.isfile(instance + '.secret'):
|
||||
try:
|
||||
Mastodon.create_app(
|
||||
'twoot',
|
||||
api_base_url='https://' + instance,
|
||||
to_file=instance + '.secret'
|
||||
)
|
||||
|
||||
except MastodonError as me:
|
||||
logging.fatal('failed to create app on ' + instance)
|
||||
logging.fatal(me)
|
||||
sys.exit(-1)
|
||||
|
||||
# Log in to Mastodon instance
|
||||
try:
|
||||
mastodon = Mastodon(
|
||||
client_id=instance + '.secret',
|
||||
api_base_url='https://' + instance
|
||||
)
|
||||
|
||||
mastodon.log_in(
|
||||
username=account,
|
||||
password=password,
|
||||
to_file=account + ".secret"
|
||||
)
|
||||
logging.info('Logging in to ' + instance)
|
||||
|
||||
except MastodonError as me:
|
||||
logging.fatal('ERROR: Login to ' + instance + ' Failed\n')
|
||||
logging.fatal(me)
|
||||
sys.exit(-1)
|
||||
|
||||
return mastodon
|
||||
|
||||
|
||||
def main(argv):
|
||||
# Start stopwatch
|
||||
|
@ -457,45 +493,16 @@ def main(argv):
|
|||
#for t in tweets:
|
||||
#print(t)
|
||||
|
||||
# Login to account on maston instance
|
||||
mastodon = None
|
||||
if len(tweets) != 0:
|
||||
mastodon = login(mast_instance, mast_account, mast_password)
|
||||
|
||||
# **********************************************************
|
||||
# Iterate tweets in list.
|
||||
# post each on Mastodon and record it in database
|
||||
# **********************************************************
|
||||
|
||||
# Create Mastodon application if it does not exist yet
|
||||
if not os.path.isfile(mast_instance + '.secret'):
|
||||
try:
|
||||
Mastodon.create_app(
|
||||
'twoot',
|
||||
api_base_url='https://' + mast_instance,
|
||||
to_file=mast_instance + '.secret'
|
||||
)
|
||||
|
||||
except MastodonError as me:
|
||||
logging.fatal('failed to create app on ' + mast_instance)
|
||||
logging.fatal(me)
|
||||
sys.exit(1)
|
||||
|
||||
# Log in to Mastodon instance
|
||||
try:
|
||||
mastodon = Mastodon(
|
||||
client_id=mast_instance + '.secret',
|
||||
api_base_url='https://' + mast_instance
|
||||
)
|
||||
|
||||
mastodon.log_in(
|
||||
username=mast_account,
|
||||
password=mast_password,
|
||||
to_file=mast_account + ".secret"
|
||||
)
|
||||
logging.info('Logging in to ' + mast_instance)
|
||||
|
||||
except MastodonError as me:
|
||||
logging.fatal('ERROR: Login to ' + mast_instance + ' Failed\n')
|
||||
logging.fatal(me)
|
||||
sys.exit(1)
|
||||
|
||||
# Upload tweets
|
||||
posted_cnt = 0
|
||||
for tweet in reversed(tweets):
|
||||
logging.debug('Uploading Tweet %s', tweet["tweet_id"])
|
||||
|
|
Loading…
Reference in New Issue
Block a user