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):
|
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.
|
pri čemer so (približno) enako dolge glede na število znakov.
|
||||||
"""
|
"""
|
||||||
avg_char_width = int(self.settings["font_size"]) * 0.57
|
avg_char_width = int(self.settings["font_size"]) * 0.57
|
||||||
|
|||||||
48
startup.bat
48
startup.bat
@@ -1,25 +1,55 @@
|
|||||||
@echo off
|
@echo off
|
||||||
cls
|
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" (
|
IF EXIST "D:\Projekcije cerkev" (
|
||||||
echo Mapa 'Projekcije cerkev' obstaja.
|
echo Mapa 'Projekcije cerkev' na USB pogonu obstaja.
|
||||||
echo Kopiram mapo na namizje...
|
|
||||||
|
|
||||||
:: Kopiranje z robocopy
|
:: 1. Ustvari backup obstoječe baze na namizju, če obstaja
|
||||||
robocopy "D:\Projekcije cerkev" "%TARGET%\Projekcije cerkev" /E
|
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 ...
|
echo Zagon projector.py ...
|
||||||
pushd "%TARGET%\Projekcije cerkev"
|
pushd "%TARGET%"
|
||||||
python projector.py
|
python projector.py
|
||||||
popd
|
popd
|
||||||
) ELSE (
|
) ELSE (
|
||||||
cls
|
cls
|
||||||
|
echo USB ključek ni najden. Zagon lokalne verzije...
|
||||||
echo Zagon projector.py ...
|
echo Zagon projector.py ...
|
||||||
pushd "%TARGET%\Projekcije cerkev"
|
pushd "%TARGET%"
|
||||||
python projector.py
|
py "projekcija\projector.py"
|
||||||
popd
|
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