first commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# Path configuration
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
CONFIG_DIR = Path(os.getenv("CONFIG_DIR", BASE_DIR / "config"))
|
||||
VIDEOS_DIR = Path(os.getenv("VIDEOS_DIR", BASE_DIR / "videos"))
|
||||
THUMBNAILS_DIR = CONFIG_DIR / "thumbnails"
|
||||
|
||||
# Ensure directories exist
|
||||
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
||||
THUMBNAILS_DIR.mkdir(parents=True, exist_ok=True)
|
||||
VIDEOS_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Logging configuration
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||
handlers=[
|
||||
logging.StreamHandler(),
|
||||
logging.FileHandler(CONFIG_DIR / "app.log")
|
||||
]
|
||||
)
|
||||
|
||||
def get_logger(name: str):
|
||||
return logging.getLogger(name)
|
||||
|
||||
def get_host_ip():
|
||||
"""Returns the host IP to be used for Chromecast.
|
||||
In host networking mode, we can use a socket to find the primary interface IP."""
|
||||
import socket
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
try:
|
||||
# doesn't even have to be reachable
|
||||
s.connect(('10.255.255.255', 1))
|
||||
IP = s.getsockname()[0]
|
||||
except Exception:
|
||||
IP = '127.0.0.1'
|
||||
finally:
|
||||
s.close()
|
||||
return IP
|
||||
Reference in New Issue
Block a user