You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
import mysql.connector, os
|
|
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_db_connection():
|
|
|
|
|
|
try:
|
|
|
|
|
|
db_host = os.getenv("DB_HOST")
|
|
|
|
|
|
db_user = os.getenv("DB_USER")
|
|
|
|
|
|
db_pass = os.getenv("DB_PASS")
|
|
|
|
|
|
db_name = os.getenv("DB_NAME")
|
|
|
|
|
|
|
|
|
|
|
|
db = mysql.connector.connect(host=db_host, user=db_user, password=db_pass, database=db_name)
|
|
|
|
|
|
except mysql.connector.Error as err:
|
|
|
|
|
|
print(f"❌ Failed to connect to DB: {err}")
|
|
|
|
|
|
return # don’t continue if DB failed
|
|
|
|
|
|
return db
|
|
|
|
|
|
|
|
|
|
|
|
def preload_source_urls(cursor):
|
|
|
|
|
|
cursor.execute("SELECT source_url FROM videos")
|
|
|
|
|
|
return set(row[0] for row in cursor.fetchall())
|