summaryrefslogtreecommitdiff
path: root/scripts/convert_info_vdr.pl
diff options
context:
space:
mode:
authorChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
committerChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
commit8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch)
treed0c5dde81a36ab2e8a2edc7c1e6922556518b312 /scripts/convert_info_vdr.pl
downloadvdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz
vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2
Initial commit
Diffstat (limited to 'scripts/convert_info_vdr.pl')
-rwxr-xr-xscripts/convert_info_vdr.pl78
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;
+