From 73cb40154cd0ebc55023e134d06fef0eff2e5bdd Mon Sep 17 00:00:00 2001 From: Software Shinobi Date: Tue, 11 Mar 2025 20:32:29 -0400 Subject: [PATCH] automated terminal push --- DiskUtils.py | 14 +++------ RestAPIClient.py | 12 ++++---- consumer.py | 79 ++++++++++++++++++++++++++++++++++++------------ 3 files changed, 70 insertions(+), 35 deletions(-) diff --git a/DiskUtils.py b/DiskUtils.py index c754e0f..dc83829 100644 --- a/DiskUtils.py +++ b/DiskUtils.py @@ -68,24 +68,19 @@ def check_download_exists_matching_url_version_two(url): print("month / ",month) - ## this is a problem. it works but if there 2 channels. - ## redbull and redbull2 this is throw false positives. ugh - - unicode_part = r"[\u3040-\u309F\u30A0-\u30FF_]*" # Matches any hiragana, katakana, and underscore - - file_pattern = f"{unicode_part} \({channel_name}\) - game stats on Twitch in {month} {year} - SullyGnome.csv".lower() + file_pattern = f"\(({username})\) - game stats on Twitch in {month} {year} - SullyGnome.csv".lower() print("regex :",file_pattern) - for filename in os.listdir("/home/yankee/Downloads/"): + for filename in os.listdir("/home/softwareshinobi/Downloads/"): updated = filename.lower() - print("file in downloads / ",updated) + print("found file (v2) / ",updated) if fnmatch.fnmatch(updated, file_pattern): - print(f"Found matching file: {updated}") + print(f"found match / {updated}") return True @@ -94,4 +89,3 @@ def check_download_exists_matching_url_version_two(url): print(f"No matching CSV file found for channel '{channel_name}' in year '{year}' and month '{month}'. (version t55555wo)") return False - diff --git a/RestAPIClient.py b/RestAPIClient.py index 414bd4c..fd81f49 100644 --- a/RestAPIClient.py +++ b/RestAPIClient.py @@ -79,9 +79,9 @@ def addDownloadFailure(url, error): def searchURLSuccesses(url): - print("enter -> callGET()") + ## print("enter -> callGET()") - print("param / url / ",url) + ## print("param / url / ",url) data = { "url": url } @@ -91,15 +91,15 @@ def searchURLSuccesses(url): response = requests.post("https://apis.yankee.embanet.online/channel/monthly/games/success/exists", data=json_data, headers=headers) - print(response.text) + ## print(response.text) return response.text def searchURLFailures(url): - print("enter -> callGET()") + ## print("enter -> callGET()") - print("param / url / ",url) + ## print("param / url / ",url) data = { "url": url } @@ -109,6 +109,6 @@ def searchURLFailures(url): response = requests.post("https://apis.yankee.embanet.online/channel/monthly/games/failure/exists", data=json_data, headers=headers) - print(response.text) + ## print(response.text) return response.text diff --git a/consumer.py b/consumer.py index c9287d3..aba39cf 100644 --- a/consumer.py +++ b/consumer.py @@ -3,45 +3,80 @@ import time import SullyGnomeRobot import RestAPIClient +### start variables ### + +jmsQueue="asian-tester" + +host = '38.107.226.34' + +port = 61613 + + +username = 'admin' +password = 'password' + + +### end variables ### + print("## ") -print("## starting > JMS consumer (yankee-sully-channels-monthly)") +print(f"## starting > JMS consumer app!") print("## ") -## https://sullygnome.com/channel/yaritaiji/2024october/games +def writeSullyURLToJMS(): + channel="https://sullygnome.com/channel/yaritaiji/2024october/games" + + print(f"launch -> jms writer -> channel-> {channel}") + + conn = stomp.Connection([('osiris.yankee.embanet.online', 61613)]) + + conn.connect('admin', 'password', wait=True) + + try: + + conn.send(body=channel.strip(), destination=f'/queue/{jmsQueue}') + + finally: + + conn.disconnect() + class MyListener(stomp.ConnectionListener): def on_message(headers, message): - print("** new message! **") + ## print("** new message! **") - print("message / ", message) + ## print("message / ", message) - print("messagebody / ", message.body) + print("JMS url -> ", message.body) - print("checking the value does or doesnt exist in db") + ## print("checking the value does or doesnt exist in db") alreadyExistsSuccess = RestAPIClient.searchURLSuccesses(message.body) - print("alreadyExistsSuccess / ", alreadyExistsSuccess) + ## print("alreadyExistsSuccess / ", alreadyExistsSuccess) if alreadyExistsSuccess.lower().strip() == "true": - print("this record exists (successes). returning. doing nothing") + ## print("this record exists (successes). returning. doing nothing") - return + ## return - print("didn't exist in success. check in errors now.") + print ("skipped!!") + + ## print("didn't exist in success. check in errors now.") alreadyExistsFailure = RestAPIClient.searchURLFailures(message.body) - print("alreadyExistsFailure / ", alreadyExistsFailure) + ## print("alreadyExistsFailure / ", alreadyExistsFailure) if alreadyExistsFailure.lower().strip() == "true": - print("this record exists (failures). returning. doing nothing") + ## print("this record exists (failures). returning. doing nothing") - return + ##return + + print ("skipped!!") print("didn't exist in success or errors. will process now") @@ -62,19 +97,24 @@ class MyListener(stomp.ConnectionListener): RestAPIClient.addDownloadFailure(message.body, "error from onmessage (consumer.py)") print("## ") -print("## starting > JMS consumer (yankee-sully-channels-monthly)") +print(f"## starting > JMS consumer ([{jmsQueue}]") print("## ") -conn = stomp.Connection([('38.107.226.34', 61613)]) +writeSullyURLToJMS() +connection_details = [(host, port)] + +conn = stomp.Connection(connection_details) conn.set_listener('', MyListener()) -conn.connect('admin', 'password', wait=True) +conn.connect(username, password, wait=True) -conn.subscribe('/queue/yankee-sully-channels-monthly', id=1, ack='auto', headers={'activemq.prefetchSize': 10}) +conn.subscribe(f'/queue/{jmsQueue}', id=1, ack='auto', headers={'activemq.prefetchSize': 10}) +print(f"Subscribed to queue: {jmsQueue}") + print("## ") -print("## notification > connected to JMS server (yankee-sully-channels-monthly) 456") +print(f"## notification > connected to JMS server [{jmsQueue}] (upgrade)") print("## ") while True: @@ -82,5 +122,6 @@ while True: pass time.sleep(1) - + conn.disconnect() +