summaryrefslogtreecommitdiff
path: root/scripts/convert_epgsearchdone_data.pl
blob: 0a04c68f899369ba79eccc8497b4d55f1fffcd17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/perl
#
# Dieses Script konvertiert die epgsearchdone.data für
# epgsearch >= 0.9.14
#
# Die neue epgsearchdone.data funktioniert dann nicht mehr
# für epgsearch < 0.9.14
#
# Es werden die epgsearch-Daten aus der Summary in die
# @-Zeile verlegt.
#
# Dies ist nicht zwingend erforderlich. Wenn Du nicht sicher bist,
# lass es ;)
#
# Aufrufen:
#
#  convert_epgsearchdone_data.pl /pfad/zur/epgsearchdone.data/
#
#  z.B. convert_epgsearchdone_data.pl /etc/vdr/plugins/
#
#  "svdrpsend.pl plug epgsearch updd" nicht vergesssen.
#
# Backup erstellen?
#
#  my $backup=1;  Auf 0 oder 1
#
# Mike Constabel vejoun @ vdrportal
# 2006-03-02
#

use strict;

my $backup=1;

die("Kein Parameter, bitte Anleitung im Script lesen.") if ! $ARGV[0];

my $Pfad=$ARGV[0];

my $DateiAlt=$Pfad."/epgsearchdone.data";
my $DateiNeu=$Pfad."/epgsearchdone.data.neu";
my $DateiBak=$Pfad."/epgsearchdone.data.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 = $_;
  $epgsearch="";
  $aux="";
  $neuformat = 0;

  print NEU $Zeile if $Zeile =~ /^[RCTSr].*/;

  $epgsearch = $1 if $Zeile =~ /^D .*(Kanal.+Suchtimer.+S-ID.+)$/;

  if ( $Zeile =~ /^(D .+)\|Kanal.+Suchtimer.+S-ID.+$/ )
  {
    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;