clean up code, setup in ready-to-run state
This commit is contained in:
+38
-32
@@ -17,13 +17,12 @@ from twapi import TwAPI
|
||||
import talenttweet as tt
|
||||
import ttweetqueue as ttq
|
||||
|
||||
PROGRAM_ARGS = None
|
||||
safe_to_post_tweets = False
|
||||
safe_to_post_tweets = True
|
||||
errored = False
|
||||
|
||||
# Returns a list of sorted and filtered TalentTweets (should
|
||||
# be equivalent to queue.txt)
|
||||
async def get_cross_talent_tweets():
|
||||
async def get_cross_tweets_online():
|
||||
global safe_to_post_tweets
|
||||
|
||||
scraper = Scraper()
|
||||
@@ -38,9 +37,9 @@ async def get_cross_talent_tweets():
|
||||
# tweets = get_user_tweets(talent_id, since_date=queue.finished_user_dates.get(talent_id, None))
|
||||
since_date = queue.finished_user_dates.get(talent_id, None)
|
||||
ttweets = scraper.get_cross_ttweets_from_user(talent_username, since_date=since_date)
|
||||
print(f'got {len(ttweets)} TalentTweets')
|
||||
for ttweet in ttweets:
|
||||
if ttweet.tweet_id not in queue.ttweets_dict \
|
||||
and ttweet.tweet_id not in queue.finished_ttweets \
|
||||
if ttweet.tweet_id not in queue.finished_ttweets \
|
||||
and ttweet.is_cross_company():
|
||||
queue.add_ttweet(ttweet)
|
||||
except KeyboardInterrupt as e:
|
||||
@@ -68,9 +67,9 @@ async def get_cross_talent_tweets():
|
||||
# return False = errored or we posted at least one ttweet
|
||||
# return True = we didn't post a single ttweet
|
||||
async def process_queue() -> bool:
|
||||
global PROGRAM_ARGS
|
||||
global errored
|
||||
WAIT_TIME = 60*3
|
||||
|
||||
WAIT_TIME = 60*15
|
||||
ttweets_posted = 0
|
||||
errored = False
|
||||
|
||||
@@ -81,13 +80,10 @@ async def process_queue() -> bool:
|
||||
print('Posting queue is empty!')
|
||||
return True
|
||||
|
||||
if PROGRAM_ARGS.announce_catchup:
|
||||
TwAPI.instance.post_tweet(text=f'Starting to catch up through {queued_ttweets_count} logged tweets.')
|
||||
|
||||
try:
|
||||
while not queue.is_empty():
|
||||
ttweet = queue.get_next_ttweet()
|
||||
tweet_was_successful = await TwAPI.instance.post_ttweet(ttweet, is_catchup=True)
|
||||
tweet_was_successful = await TwAPI.instance.post_ttweet(ttweet)
|
||||
|
||||
print('running queue.good()...')
|
||||
queue.good()
|
||||
@@ -103,9 +99,6 @@ async def process_queue() -> bool:
|
||||
print('Unhandled error occurred while posting tweets from queue.')
|
||||
errored = True
|
||||
traceback.print_exc()
|
||||
else:
|
||||
if PROGRAM_ARGS.announce_catchup:
|
||||
await TwAPI.instance.post_tweet('Finished with catch-up tweets!')
|
||||
|
||||
if errored or ttweets_posted > 0:
|
||||
return False
|
||||
@@ -113,26 +106,39 @@ async def process_queue() -> bool:
|
||||
|
||||
# return True = no problems
|
||||
# return False = issue occurred where we couldn't post all past tweets properly
|
||||
async def run():
|
||||
async def run(PROGRAM_ARGS):
|
||||
global errored
|
||||
global safe_to_post_tweets
|
||||
|
||||
queue = ttq.TalentTweetQueue.instance
|
||||
while True:
|
||||
await get_cross_talent_tweets()
|
||||
print(f'{queue.get_count()} cross-company tweets to attempt sharing.')
|
||||
try:
|
||||
if safe_to_post_tweets:
|
||||
if await process_queue():
|
||||
print('Posted no new tweets; we\'re caught up!')
|
||||
return True
|
||||
else:
|
||||
print('Tweets were not retrieved cleanly.')
|
||||
|
||||
async def queue_loop():
|
||||
while True:
|
||||
print(f'{queue.get_count()} cross-company tweets to attempt sharing.')
|
||||
try:
|
||||
if safe_to_post_tweets:
|
||||
if await process_queue():
|
||||
print('Posted no new tweets; we\'re caught up!')
|
||||
return True
|
||||
else:
|
||||
print('Tweets were not retrieved cleanly.')
|
||||
return False
|
||||
except KeyboardInterrupt:
|
||||
print('Interrupting queue processing...')
|
||||
return False
|
||||
except:
|
||||
print('Unhandled error occurred while running catch up in posting phase.')
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
if errored:
|
||||
return False
|
||||
except:
|
||||
print('Unhandled error occurred while running catch up in posting phase.')
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
if errored:
|
||||
return False
|
||||
|
||||
await get_cross_tweets_online()
|
||||
|
||||
if PROGRAM_ARGS.straight_to_queue:
|
||||
print('Processing queue first before pulling tweets...')
|
||||
return await queue_loop()
|
||||
else:
|
||||
await get_cross_tweets_online()
|
||||
return await queue_loop()
|
||||
|
||||
Reference in New Issue
Block a user