diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-05-05 22:51:05 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-05-05 22:55:35 -0700 |
| commit | ba43fe649d929ef596cdbc81c333193facf2f695 (patch) | |
| tree | 9856d6edb1a3458dc9340ebb62a4479f602ac665 /nijitrack.py | |
| parent | e6f407d85a2acd610f9c336a3d60cdd084aeb02c (diff) | |
phase_tracker_only: twitch follower data collection
Diffstat (limited to 'nijitrack.py')
| -rw-r--r-- | nijitrack.py | 14 |
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) |
