Powered by Invision Power Board


  
 
Reply to this topicStart new topicStart Poll

> eplists und epgsearch, Wer nutzt das auch noch?
MegaV0lt
  Geschrieben am: Freitag, 03.März 2017, 17:43 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



Ich nutze nun schon seit einiger Zeit das Feature von epgsearch und xmltv2vdr bei den Serien das SxxExx einzubauen. Das ist sehr praktisch, wenn man so wie ich viele Suchtimer hat und auch viele Serien aufnimmt.

Zum aktualisieren der eplists habe ich (natürlich) ein Skript gemacht:
eplists_update.sh
Das Skript ist nach /etc/cron.daily verlinkt, und wird dadurch ein mal pro Tag ausgeführt

In epgsearch habe ich für Serienaufnahmen folgendes eingebaut (/etc/vdr/plugins/epgsearch)
epgsearchcats.conf
epgsearchhtemplates.conf
Das Template erleichtert das Programmieren. Einfach den Ordner %Serien% verwenden. Funktioniert in epgsearch und VDRAdmin!

CODE
# -----------------------------------------------------------------------------
# epgsearchuservars.conf
# Kommentare in extra Zeile setzten!

#Folgende Variablen sind bereits intern definiert und können verwendet werden.
# %title%          - Title der Sendung
# %subtitle%       - Subtitle der Sendung
# %time%           - Startzeit im Format HH:MM
# %timeend%        - Endzeit im Format HH:MM
# %date%           - Startzeit im Format TT.MM.YY
# %datesh%         - Startdatum im Format TT.MM.
# %time_w%         - Name des Wochentages
# %time_d%         - Tag der Sendung im Format TT
# %time_lng%       - Startzeit in Sekunden seit 1970-01-01 00:00
# %chnr%           - Kanalnummer
# %chsh%           - Kanalname kurz
# %chlng%          - Kanalname lang
# %chdata%         - VDR's interne Kanaldarstellung (z.B. 'S19.2E-1-1101-28106')
#
# %summary%        - Beschreibung
# %htmlsummary%    - Beschreibung, alle CR ersetzt durch '<br />'
# %eventid%        - Event ID
#
# %colon%          - Das Zeichen ':'
# %datenow%        - Aktuelles Datum im Format TT.MM.YY
# %dateshnow%      - Aktuelles Datum im Format TT.MM.
# %timenow%        - Aktuelle Zeit im Format HH:MM
# %videodir%       - VDRs Aufnahme-Verzeichnis (z.B. /video)
# %plugconfdir%    - VDRs Verzeichnis für Plugin-Konfigurationsdateien (z.B. /etc/vdr/plugins)
# %epgsearchdir%   - epgsearchs Verzeichnis für Konfiguratzionsdateien (z.B. /etc/vdr/plugins/epgsearch)

# Serien in Unterordner [Serien]
#%SPATH%=[Serien]~%TITLE%

# Serien ohne separaten Unterordner
%SPATH%=%TITLE%

# Filme mit Jahr
%MPATH%=%TITLE%

# Folgenname oder Datum wenn Leer
%EP%=%Subtitle% ? %Subtitle% : %DateTime%

# Skript um bei Sky-Kanälen die Staffel und Episodennummer zu erhalten
# Zusätzlich Klammern am Ende von TITLE entfernen und bei SUBTITLE hinzufügen
%Get_SE%=system(/usr/local/sbin/get_se.sh, %Title% %Subtitle% %Staffel% %Episode% %Folge% %Summary% %time_w% %date% %time%)
# Wert speichern, damit das Skript nur ein mal gestartet wird
# %SEP% inkl TITLE (Name~Folge)
%SEP%=%Get_SE%

# Mit Check auf Klammern
#%SeasonEpisode%=%SPATH%~%EP%  (S%Staffel%E%Episode%)
%SeasonEpisode%=%SEP%  (S%Staffel%E%Episode%)

%Shorttext%=%SPATH%~%Subtitle%
%DateTime%=%time_w%_%date%_%time%

#%STorDT%=%Subtitle% ? %Shorttext% : %DateTime%
%NOSE%=%Subtitle% ? %Shorttext% : %SPATH%~%DateTime%
%STorDT%=%SEP% ? %SEP% : %NOSE%

# Vorlage Serien: Wenn Staffel belegt, dann mit SxxExx ansonsten Folgentitel oder Datum
%Serien%=%Staffel% ? %SeasonEpisode% : %STorDT%

# -> Ungenutzt
%Simple%=%Title%_na
%etitle%=%MPATH% (%Jahr%)
%mtitle%=%Jahr% ? %etitle% : %MPATH%
%getcat%=%istFilm% ? %mtitle% : %title%
%einzel%=%istFilm% ? %mtitle% : %title%
%AUTO%=%istSerie% ? %Serien% : %einzel%

epgsearchuservars.conf

Die Aufgenommen Serien erhalten dann ein " (SxxExx)" als Anhang an der Folgentitel. Extra Verzeichnisse verwende ich nicht. Oft genug fehlen nämlich die eplist-Angaben und dann sind die Folgen in unterschiedlichen Ordnern.

Sieht bei mir nun so aus: https://www.dropbox.com/s/mwdzvcy55d496pk/eplist.jpg?dl=0

Und zum Schluss noch ein Skript, dass die Timer auf fehlende (SxxExx) überprüft. Damit bekomme ich täglich eine Mail und ich versuche dann die fehlenden Folgen bei eplists.de einzutragen:
eplists_check.sh
eMailadresse eintragen!
Email PosterUsers WebsiteICQ
Top
MegaV0lt
  Geschrieben am: Dienstag, 18.September 2018, 09:44 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



Da mich schon lange geärgert hat, dass die öffentlichen bei den Serien oft irgendwelche Zahlen im Seriennamen im EPG haben, was zu unzähligen Ordnern bei Serienaufnahmen fürt, haben, habe ich die %Serien% Vorlage oben um ein Skript erweitert, dass folgendes macht:

1. Wenn Staffen/Folge nicht in eplists, dann versuchen aus der Beschreibung zu extrahieren (Funktioniert bei allen Sky-Kanälen) und anhängen mit eckiger Klamer, um eine Unterscheidung zu haben. Beispiel "Serie~Folge [S01E01]"

2. Wenn im Seriennamen am Ende Klammern sind ("Serie (1)~Folge"), dann die Klammer in den Folgentitel verschieben. Beispiel: "Serie (1)~Folge" -> "Serie~Folge (1)". Funktioniert u.a. bei One, Neo usw. ganz gut

Skript:
CODE
#!/bin/bash

# get_SE.sh - Hilfsskript, das von epgSearch aufgerufen wird und versucht aus
#+der Beschreibung die Werte für Staffel und Episode zu extrahieren (Sky-Kanäle)
# Zusätzlich werden im TITLE enthaltene Klammern in den SUBTITLE verschoben:
# 'Serienname (5/6)~Folgenname' -> 'Serienname~Folgenname (5/6)'
#VERSION=180913

#Folgende Variablen sind bereits intern definiert und können verwendet werden.
# %title%          - Title der Sendung
# %subtitle%       - Subtitle der Sendung
# %time%           - Startzeit im Format HH:MM
# %timeend%        - Endzeit im Format HH:MM
# %date%           - Startzeit im Format TT.MM.YY
# %datesh%         - Startdatum im Format TT.MM.
# %time_w%         - Name des Wochentages
# %time_d%         - Tag der Sendung im Format TT
# %time_lng%       - Startzeit in Sekunden seit 1970-01-01 00:00
# %chnr%           - Kanalnummer
# %chsh%           - Kanalname kurz
# %chlng%          - Kanalname lang
# %chdata%         - VDR's interne Kanaldarstellung (z.B. 'S19.2E-1-1101-28106')
#
# %summary%        - Beschreibung
# %htmlsummary%    - Beschreibung, alle CR ersetzt durch '<br />'
# %eventid%        - Event ID
#
# %colon%          - Das Zeichen ':'
# %datenow%        - Aktuelles Datum im Format TT.MM.YY
# %dateshnow%      - Aktuelles Datum im Format TT.MM.
# %timenow%        - Aktuelle Zeit im Format HH:MM
# %videodir%       - VDRs Aufnahme-Verzeichnis (z.B. /video)
# %plugconfdir%    - VDRs Verzeichnis für Plugin-Konfigurationsdateien (z.B. /etc/vdr/plugins)
# %epgsearchdir%   - epgsearchs Verzeichnis für Konfiguratzionsdateien (z.B. /etc/vdr/plugins/epgsearch)

#%Get_SE%=system(/usr/local/sbin/get_se.sh, %Title% %Subtitle% %Staffel% %Episode% %Folge% %Summary% %time_w% %date% %time%)
#                                            0       1          2         3         4       5         6        7      8
SELF="$(readlink /proc/$$/fd/255)" || SELF="$0"  # Eigener Pfad (besseres $0)
SELF_NAME="${SELF##*/}"                          # skript.sh

DATA=("$@")                             # Übergebene Daten in ein Array
LOGFILE="/var/log/${SELF_NAME/.*}.log"  # Log-Datei
MAXLOGSIZE=$((50*1024))                 # Log-Datei: Maximale größe in Byte

# Für Debuggingzwecke
echo "Erhaltene Daten(${#DATA[@]}): ${DATA[0]:-NULL}~${DATA[1]:-NULL} S:${DATA[2]:-NULL}, E:${DATA[3]:-NULL}" >> "$LOGFILE"

# Titel mit (*) am Ende?
MYREGEX='\(.*\)$'
if [[ "${DATA[0]}" =~ $MYREGEX ]]; then  # Titel enthält Klammern am Ende!
 FOUNDREGEX="${BASH_REMATCH[0]}"         # Wert speichern '(5/6)'
 TITLE="${DATA[0]%${FOUNDREGEX}}"; TITLE="${TITLE%%' '}"  # Klammern (und Leerzeichen) entfernen
 SUBTITLE="${DATA[1]} $FOUNDREGEX"; SUBTITLE="${SUBTITLE##' '}"  # Wert an SUBTITLE anhängen
fi

# Wenn Staffel nicht belegt ist und in der Beschreibung Sky-Typische 'Staffel, Folge' entahlen ist, diese verwenden
if [[ -z "${DATA[2]}" && "${DATA[5]:0:25}" =~ 'Staffel, Folge' ]]; then
 echo "Anfang von 'Summary': ${DATA[5]:0:25}..." >> "$LOGFILE"
 SE="${DATA[5]%%\:*}"  # :* abschneiden (1. Staffel, Folge 3)
 S="${SE%%\.*}"        # .* abschneiden (1)
 E="${SE##*Folge }"    # '*Folge ' abschneiden (3)
 [[ ${#S} -lt 2 ]] && S="0${S}"
 [[ ${#E} -lt 2 ]] && E="0${E}"
 # -> Das Skript muss eine Zeichenkette <ohne> Zeilenumbruch zurück geben!
 echo "=> Antwort: ${TITLE:-${DATA[0]}}~${SUBTITLE:-${DATA[1]}}  [S${S}E${E}]" >> "$LOGFILE"
 echo -n "${TITLE:-${DATA[0]}}~${SUBTITLE:-${DATA[1]}}  [S${S}E${E}]"  # Ausgabe an epgSearch
else
 if [[ -z "$SUBTITLE" && -z "${DATA[1]}" ]]; then
   SUBTITLE="${DATA[6]}_${DATA[7]}_${DATA[8]}"  # Sendezeit, falls Leer
 fi
 # -> Das Skript muss eine Zeichenkette <ohne> Zeilenumbruch zurück geben!
 echo "=> Antwort: ${TITLE:-${DATA[0]}}~${SUBTITLE:-${DATA[1]}}" >> "$LOGFILE"
 echo -n "${TITLE:-${DATA[0]}}~${SUBTITLE:-${DATA[1]}}"  # Ausgabe an epgSearch
fi


if [[ -e "$LOGFILE" ]]; then  # Log-Datei umbenennen, wenn zu groß
 FILESIZE="$(stat -c %s "$LOGFILE")"
 [[ $FILESIZE -gt $MAXLOGSIZE ]] && mv --force "$LOGFILE" "${LOGFILE}.old"
fi

exit  # Ende

Das Skript gibt es hier: https://www.dropbox.com/s/bxnz5t62oxv4mdy/get_se.sh?dl=0
Logdatei kann man deaktivieren in dem man alle Zeilen die ">> $LOGFILE" enthalten auskommentiert (#)
Email PosterUsers WebsiteICQ
Top
Thema wird von 1 Benutzer(n) gelesen (1 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll