From 8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Sun, 11 Nov 2007 15:40:28 +0100 Subject: Initial commit --- scripts/convert_info_vdr.pl | 78 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 scripts/convert_info_vdr.pl (limited to 'scripts/convert_info_vdr.pl') 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; + +## + +my $backup=1; # Backup erstellen? 1=Ja (info.bak), 0=Nein +my $keepdata=1; # Die epgsearch-Daten in summary behalten? 1=Ja, 0=Nein + +## + +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() { + + $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.""; + print NEU sprintf("%s\n",$aux); +} elsif ( $neuformat == 1 ) { + print NEU sprintf("%s\n",$aux); +} + +print NEU sprintf("@ %s\n",$epgsearch) if ( $neuformat == 0 && $epgsearch ne "" ); + +close(DATEI); +close(NEU); + +rename $DateiAlt, $DateiBak if ( ! -e $DateiBak && $backup == 1 ); +rename $DateiNeu, $DateiAlt; + -- cgit v1.2.3