summaryrefslogtreecommitdiffstats
path: root/nijitrack.py
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-05-05 22:51:05 -0700
committerPinapelz <yukais@pinapelz.com>2025-05-05 22:55:35 -0700
commitba43fe649d929ef596cdbc81c333193facf2f695 (patch)
tree9856d6edb1a3458dc9340ebb62a4479f602ac665 /nijitrack.py
parente6f407d85a2acd610f9c336a3d60cdd084aeb02c (diff)
phase_tracker_only: twitch follower data collection
Diffstat (limited to 'nijitrack.py')
-rw-r--r--nijitrack.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/nijitrack.py b/nijitrack.py
index fd2c76b..b9706f3 100644
--- a/nijitrack.py
+++ b/nijitrack.py
@@ -4,6 +4,7 @@ from datetime import datetime
import dotenv
import pytz
+import twitch
from b2sdk.v2 import *
from logger import *
from sql.pg_handler import PostgresHandler
@@ -35,6 +36,7 @@ def initialize_database(server: PostgresHandler):
server.create_table(name = DATA_SETTING["TABLE_LIVE"], column = DATA_SETTING["LIVE_COLUMNS"])
server.create_table(name = DATA_SETTING["TABLE_HISTORICAL"], column = DATA_SETTING["HISTORICAL_COLUMNS"])
server.create_table(name = DATA_SETTING["TABLE_DAILY"], column = DATA_SETTING["DAILY_COLUMNS"])
+ server.create_table(name = DATA_SETTING["TABLE_TWITCH"], column = DATA_SETTING["TWITCH_COLUMNS"])
@track_task_time("Inserting Live Data into Database")
@@ -98,6 +100,18 @@ def record_subscriber_data(data: list, force_refresh: bool = False):
data_tuple = (channel_id, pfp, channel_name, sub_count, sub_org, video_count, view_count, formatted_time)
historical_data_tuple = (channel_id, pfp, channel_name, sub_count, formatted_time)
server.insert_row(table_name = DATA_SETTING["TABLE_LIVE"], column = DATA_SETTING["LIVE_HEADER"], data=data_tuple)
+ twitch_name = twitch.youtube_to_twitch_map.get(channel_id, None)
+ if twitch_name:
+ follower_count = twitch.get_followers_total(twitch_name)
+ if follower_count is None:
+ print("[TWITCH] Failed to get follower count attempting to scrape", twitch_name)
+ follower_count = twitch.get_total_follower_count_scrape(twitch_name)
+ if follower_count:
+ print(f"[TWITCH] Got follower count for {channel_name} -> {follower_count}")
+ server.delete_row(table_name = DATA_SETTING["TABLE_TWITCH"], column = "channel_id", value = channel_id)
+ server.insert_row(table_name = DATA_SETTING["TABLE_TWITCH"], column = DATA_SETTING["TWITCH_HEADER"], data=(channel_id, follower_count))
+ else:
+ print(f"[TWITCH] Failed to get follower count for {channel_name}. Likely too low")
update_data_records(historical_data_tuple, should_update_historical_data)
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage