deps and envs

This commit is contained in:
2025-09-25 14:58:56 +02:00
parent aee8ec5cb0
commit 97547f4f80
5 changed files with 28 additions and 9 deletions

11
.env.sample Normal file
View File

@@ -0,0 +1,11 @@
# Video Player Environment Configuration
# Copy this file to .env and modify the values as needed
# Video folder path - where video files are stored
# Default: /home/pi/Videos
VIDEO_FOLDER=/home/pi/Videos
# Optional: Override other configuration values
# LOG_LEVEL=INFO
# IR_PIN=18
# DEFAULT_CHANNEL=1

View File

@@ -12,12 +12,16 @@ from pathlib import Path
from typing import Dict, List, Optional, Any, Union
from dataclasses import dataclass, asdict
import shutil
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
@dataclass
class VideoPlayerConfig:
"""Video Player Configuration"""
# Video settings
video_folder: str = "/home/pi/Videos"
video_folder: str = os.getenv("VIDEO_FOLDER", "/home/pi/Videos")
supported_formats: List[str] = None
default_channel: int = 1
auto_play: bool = True

View File

@@ -17,7 +17,7 @@ INSTALL_DIR="/opt/video_player"
CONFIG_DIR="/etc/video_player"
SERVICE_NAME="video-player"
USER="pi"
VIDEO_FOLDER="/home/pi/Videos"
VIDEO_FOLDER="${VIDEO_FOLDER:-/home/pi/Videos}"
# Function to print colored output
print_status() {
@@ -76,6 +76,7 @@ install_packages() {
vlc \
vlc-plugin-base \
vlc-plugin-video-output \
ffmpeg \
git \
curl \
wget \
@@ -97,12 +98,11 @@ install_packages() {
libatlas-base-dev \
gfortran \
libhdf5-dev \
libhdf5-serial-dev \
libhdf5-103 \
libqtgui4 \
libqtwebkit4 \
libqt4-test \
python3-pyqt5 \
python3-pyqt5.qtwidgets \
python3-pyqt5.qtgui \
python3-pyqt5.qtcore \
libgtk-3-dev \
libcanberra-gtk3-module \
libcanberra-gtk3-dev \

View File

@@ -12,6 +12,10 @@ import subprocess
from pathlib import Path
from typing import Dict, List, Optional
import logging
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
class VideoPlayerSetup:
"""Interactive setup for Video Player system"""
@@ -19,7 +23,7 @@ class VideoPlayerSetup:
def __init__(self):
self.config_dir = Path("/etc/video_player")
self.install_dir = Path("/opt/video_player")
self.video_folder = Path("/home/pi/Videos")
self.video_folder = Path(os.getenv('VIDEO_FOLDER', '/home/pi/Videos'))
self.logger = self.setup_logging()
def setup_logging(self):

View File

@@ -44,7 +44,7 @@ class VideoPlayer:
self.ir_codes = self.config.get('ir_codes', {})
# Channel settings
self.video_folder = Path(self.config.get('video_folder', '/home/pi/Videos'))
self.video_folder = Path(self.config.get('video_folder', os.getenv('VIDEO_FOLDER', '/home/pi/Videos')))
self.default_channel = self.config.get('default_channel', 1)
self.channel_timeout = self.config.get('channel_timeout', 3.0)
self.multi_digit_timeout = self.config.get('multi_digit_timeout', 1.0)
@@ -71,7 +71,7 @@ class VideoPlayer:
def get_default_config(self) -> Dict:
"""Get default configuration"""
return {
"video_folder": "/home/pi/Videos",
"video_folder": os.getenv('VIDEO_FOLDER', '/home/pi/Videos'),
"ir_pin": 18,
"default_channel": 1,
"channel_timeout": 3.0,