From 97547f4f80f14e28afc69f153d383842b1bdaaee Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Thu, 25 Sep 2025 14:58:56 +0200 Subject: [PATCH] deps and envs --- .env.sample | 11 +++++++++++ config_manager.py | 6 +++++- install.sh | 10 +++++----- setup.py | 6 +++++- video_player.py | 4 ++-- 5 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 .env.sample diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..ceac9f4 --- /dev/null +++ b/.env.sample @@ -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 diff --git a/config_manager.py b/config_manager.py index 699567e..83c7c48 100644 --- a/config_manager.py +++ b/config_manager.py @@ -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 diff --git a/install.sh b/install.sh index 692dddd..44c9e85 100755 --- a/install.sh +++ b/install.sh @@ -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 \ diff --git a/setup.py b/setup.py index 877960b..ea822a7 100755 --- a/setup.py +++ b/setup.py @@ -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): diff --git a/video_player.py b/video_player.py index e1e134a..c51f393 100644 --- a/video_player.py +++ b/video_player.py @@ -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,