startup za linux, dodan backup baze (just in case)
This commit is contained in:
@@ -193,7 +193,7 @@ class SongProjector:
|
||||
# ------------------------------------------------------
|
||||
def split_long_line(self, line):
|
||||
"""
|
||||
Vrne seznam pod‑vrstic, ki skupaj tvorijo `line`,
|
||||
Vrne seznam pod-vrstic, ki skupaj tvorijo `line`,
|
||||
pri čemer so (približno) enako dolge glede na število znakov.
|
||||
"""
|
||||
avg_char_width = int(self.settings["font_size"]) * 0.57
|
||||
|
||||
48
startup.bat
48
startup.bat
@@ -1,25 +1,55 @@
|
||||
@echo off
|
||||
cls
|
||||
|
||||
set "TARGET=%USERPROFILE%\OneDrive\Namizje"
|
||||
set "TARGET=%USERPROFILE%\OneDrive\Namizje\Projekcije cerkev"
|
||||
set "BACKUP_DIR=%TARGET%\backup"
|
||||
|
||||
:: Najprej preveri ali obstaja mapa Projekcije cerkev
|
||||
:: Najprej preveri ali obstaja mapa Projekcije cerkev na USB (D:)
|
||||
IF EXIST "D:\Projekcije cerkev" (
|
||||
echo Mapa 'Projekcije cerkev' obstaja.
|
||||
echo Kopiram mapo na namizje...
|
||||
echo Mapa 'Projekcije cerkev' na USB pogonu obstaja.
|
||||
|
||||
:: Kopiranje z robocopy
|
||||
robocopy "D:\Projekcije cerkev" "%TARGET%\Projekcije cerkev" /E
|
||||
:: 1. Ustvari backup obstoječe baze na namizju, če obstaja
|
||||
IF EXIST "%TARGET%\songs.db" (
|
||||
echo Ustvarjam backup baze...
|
||||
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
|
||||
|
||||
:: Pridobi timestamp (YYYYMMDD_HHMMSS)
|
||||
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
|
||||
for /f "tokens=1-2 delims=: " %%a in ('time /t') do (set mytime=%%a%%b)
|
||||
set "TS=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
|
||||
set "TS=%TS: =0%"
|
||||
|
||||
set "CURRENT_BACKUP=%BACKUP_DIR%\backup_%TS%"
|
||||
mkdir "%CURRENT_BACKUP%"
|
||||
|
||||
if exist "%TARGET%\settings.conf" copy "%TARGET%\settings.conf" "%CURRENT_BACKUP%\" >nul
|
||||
if exist "%TARGET%\songs.db" copy "%TARGET%\songs.db" "%CURRENT_BACKUP%\" >nul
|
||||
|
||||
echo Backup ustvarjen v: %CURRENT_BACKUP%
|
||||
|
||||
:: 2. Ohrani samo zadnja 2 backupa (pobriši starejše)
|
||||
pushd "%BACKUP_DIR%"
|
||||
for /f "skip=2 delims=" %%F in ('dir /b /ad /o-n backup_*') do (
|
||||
echo Brisanje starega backupa: %%F
|
||||
rd /s /q "%%F"
|
||||
)
|
||||
popd
|
||||
)
|
||||
|
||||
echo Kopiram nove datoteke z USB na namizje...
|
||||
:: Kopiranje z robocopy (/E - vse podmape, /XO - samo novejše datoteke, da ne povozimo backupa če ni treba)
|
||||
robocopy "D:\Projekcije cerkev" "%TARGET%" /E
|
||||
|
||||
echo Zagon projector.py ...
|
||||
pushd "%TARGET%\Projekcije cerkev"
|
||||
pushd "%TARGET%"
|
||||
python projector.py
|
||||
popd
|
||||
) ELSE (
|
||||
cls
|
||||
echo USB ključek ni najden. Zagon lokalne verzije...
|
||||
echo Zagon projector.py ...
|
||||
pushd "%TARGET%\Projekcije cerkev"
|
||||
python projector.py
|
||||
pushd "%TARGET%"
|
||||
py "projekcija\projector.py"
|
||||
popd
|
||||
)
|
||||
|
||||
|
||||
44
startup.sh
Executable file
44
startup.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ciljna mapa na Linuxu (v uporabnikovem home-u)
|
||||
TARGET="$HOME/Projekcija cerkev"
|
||||
BACKUP_DIR="$TARGET/backup"
|
||||
|
||||
# Iskanje vira na vseh priklopljenih medijih (USB ključek)
|
||||
SOURCE=$(find /media/$USER -maxdepth 2 -type d -name "Projekcije cerkev" 2>/dev/null | head -n 1)
|
||||
|
||||
if [ -n "$SOURCE" ]; then
|
||||
echo "Najden ključek: $SOURCE"
|
||||
|
||||
# 1. Ustvari backup obstoječe baze, če obstaja
|
||||
if [ -f "$TARGET/songs.db" ]; then
|
||||
echo "Ustvarjam backup baze..."
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Časovni žig po ISO 8601 formatu (npr. 2026-03-08T20:56:42)
|
||||
TS=$(date +"%Y-%m-%dT%H:%M:%S")
|
||||
CURRENT_BACKUP="$BACKUP_DIR/backup_$TS"
|
||||
mkdir -p "$CURRENT_BACKUP"
|
||||
|
||||
[ -f "$TARGET/settings.conf" ] && cp "$TARGET/settings.conf" "$CURRENT_BACKUP/"
|
||||
[ -f "$TARGET/songs.db" ] && cp "$TARGET/songs.db" "$CURRENT_BACKUP/"
|
||||
|
||||
echo "Backup ustvarjen v: $CURRENT_BACKUP"
|
||||
|
||||
# 2. Ohrani samo zadnja 2 backupa (pobriši starejše)
|
||||
# ls -dt izpiše mape po času (novejše prej), tail -n +3 pa preskoči prva dva
|
||||
cd "$BACKUP_DIR" && ls -dt backup_* 2>/dev/null | tail -n +3 | xargs -r rm -rf
|
||||
fi
|
||||
|
||||
echo "Sinhronizacija datotek z USB v home mapo..."
|
||||
mkdir -p "$TARGET"
|
||||
# rsync -av --exclude='backup' sinhronizira vsebino brez backup mape
|
||||
rsync -av --exclude='backup' "$SOURCE/" "$TARGET/"
|
||||
fi
|
||||
|
||||
echo "Zagon projector.py..."
|
||||
if [ -d "$TARGET" ]; then
|
||||
cd "$TARGET" && projekcija/projector.py
|
||||
else
|
||||
echo "Napaka: Mapa $TARGET ne obstaja."
|
||||
fi
|
||||
Reference in New Issue
Block a user