diff options
author | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
---|---|---|
committer | Christian Wieninger <winni@debian.(none)> | 2007-11-11 15:40:28 +0100 |
commit | 8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch) | |
tree | d0c5dde81a36ab2e8a2edc7c1e6922556518b312 /scripts/convert_info_vdr.pl | |
download | vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2 |
Initial commit
Diffstat (limited to 'scripts/convert_info_vdr.pl')
-rwxr-xr-x | scripts/convert_info_vdr.pl | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/scripts/convert_info_vdr.pl b/scripts/convert_info_vdr.pl new file mode 100755 index 0000000..87a0524 --- /dev/null +++ b/scripts/convert_info_vdr.pl @@ -0,0 +1,78 @@ +#!/usr/bin/perl +# +# Dieses Script konvertiert die info.vdrs in das Format, das +# vdr >= 1.3.44 und epgsearch >= 0.9.14 verwenden. +# +# Aufrufen: +# +# find "/video" -path "*.rec" -exec convert_info_vdr.pl "{}" \; +# +# Bitte die beiden Variablen unter Einstellungen anpassen! +# +# Mike Constabel vejoun @ vdrportal +# 2006-03-01 +# + +use strict; + +## <Einstellungen> + +my $backup=1; # Backup erstellen? 1=Ja (info.bak), 0=Nein +my $keepdata=1; # Die epgsearch-Daten in summary behalten? 1=Ja, 0=Nein + +## </Einstellungen> + +die("Kein Parameter, bitte Anleitung im Script lesen.") if ! $ARGV[0]; + +my $Pfad=$ARGV[0]; + +my $DateiAlt=$Pfad."/info.vdr"; +my $DateiNeu=$Pfad."/info.neu"; +my $DateiBak=$Pfad."/info.bak"; + +open(DATEI,"<".$DateiAlt) || die("Datei nicht gefunden: $DateiAlt"); +open(NEU,">".$DateiNeu) || die("Datei kann nicht geöffnet werden: $DateiAlt"); + +my $Zeile = ""; +my $epgsearch = ""; +my $neuformat = 0; +my $aux = ""; + +printf ("Konvertiere %s\n",$DateiAlt); + +while(<DATEI>) { + + $Zeile = $_; + + print NEU $Zeile if $Zeile =~ /^[CETSX] .+/; + + $epgsearch = $1 if $Zeile =~ /^D .*(Kanal.+Suchtimer.+S-ID.+)$/; + + if ( $Zeile =~ /^(D .+)\|Kanal.+Suchtimer.+S-ID.+$/ && ! $keepdata ) { + print NEU sprintf("%s\n",$1); + } elsif ( $Zeile =~ /^(D .+)$/ ) { + print NEU sprintf("%s\n",$1); + } + + if ( $Zeile =~ /^(@ .+)$/ ) { + $neuformat=1; + $aux = $1; + } + +} + +if ( $neuformat == 1 && $aux !~ /epgsearch/ && $epgsearch ne "" ) { + $aux .= "<epgsearch>".$epgsearch."</epgsearch>"; + print NEU sprintf("%s\n",$aux); +} elsif ( $neuformat == 1 ) { + print NEU sprintf("%s\n",$aux); +} + +print NEU sprintf("@ <epgsearch>%s</epgsearch>\n",$epgsearch) if ( $neuformat == 0 && $epgsearch ne "" ); + +close(DATEI); +close(NEU); + +rename $DateiAlt, $DateiBak if ( ! -e $DateiBak && $backup == 1 ); +rename $DateiNeu, $DateiAlt; + |