diff options
-rw-r--r-- | parse.cpp | 24 | ||||
-rw-r--r-- | parse.h | 3 | ||||
-rw-r--r-- | po/de_DE.po | 9 | ||||
-rw-r--r-- | po/it_IT.po | 9 | ||||
-rw-r--r-- | setup.cpp | 2 | ||||
-rw-r--r-- | xmltv2vdr.cpp | 34 |
6 files changed, 50 insertions, 31 deletions
@@ -908,22 +908,32 @@ bool cParse::Process(char *buffer, int bufsize) cSchedule* schedule = (cSchedule *) schedules->GetSchedule(channel,addevents); if (schedule) { - cEvent *event=NULL; - if ((event=SearchEvent(schedule,&xevent))) + if ((!schedule->Index()) && (!addevents)) { - PutEvent(schedule,event,&xevent,map); + if (lerr!=PARSE_EMPTYSCHEDULE) + esyslog("xmltv2vdr: '%s' cannot merge into empty epg (%s)", + name,channel->Name()); + lerr=PARSE_EMPTYSCHEDULE; } else { - if (addevents) + cEvent *event=NULL; + if ((event=SearchEvent(schedule,&xevent))) { PutEvent(schedule,event,&xevent,map); } else { - time_t start=xevent.StartTime(); - esyslog("xmltv2vdr: '%s' cannot find existing event in epg.data for xmltv-event %s@%s", - name,xevent.Title(),ctime(&start)); + if (addevents) + { + PutEvent(schedule,event,&xevent,map); + } + else + { + time_t start=xevent.StartTime(); + esyslog("xmltv2vdr: '%s' cannot find existing event in epg.data for xmltv-event %s@%s", + name,xevent.Title(),ctime(&start)); + } } } } @@ -157,7 +157,8 @@ class cParse PARSE_NOSCHEDULES=3, PARSE_XMLTVERR=4, PARSE_NOMAPPING=5, - PARSE_NOCHANNELID=6 + PARSE_NOCHANNELID=6, + PARSE_EMPTYSCHEDULE=7 }; private: diff --git a/po/de_DE.po b/po/de_DE.po index 3f82a91..d09b8d4 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2011-02-27 17:16+0100\n" +"POT-Creation-Date: 2011-05-14 18:48+0200\n" "PO-Revision-Date: 2010-12-23 23:59+0100\n" "Last-Translator: Jochen Dolze <vdr@dolze.de>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -123,8 +123,8 @@ msgstr "Art der Bearbeitung" msgid "merge" msgstr "mischen" -msgid "append" -msgstr "hinzufügen" +msgid "create" +msgstr "erstellen" msgid "short text" msgstr "Kurztext" @@ -182,3 +182,6 @@ msgstr "xmltv2vdr plugin ist noch aktiv" msgid "Imports xmltv epg into vdr" msgstr "Importiert xmltv epg in den VDR" + +#~ msgid "append" +#~ msgstr "hinzufügen" diff --git a/po/it_IT.po b/po/it_IT.po index d877226..42793c2 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2011-02-27 17:20+0100\n" +"POT-Creation-Date: 2011-05-14 18:48+0200\n" "PO-Revision-Date: 2010-12-30 20:01+0100\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Language-Team: <vdr@linuxtv.org>\n" @@ -126,8 +126,8 @@ msgstr "Tipo elaborazione" msgid "merge" msgstr "Unisci" -msgid "append" -msgstr "Aggiungi" +msgid "create" +msgstr "Creare" msgid "short text" msgstr "Testo breve" @@ -185,3 +185,6 @@ msgstr "Plugin XMLTV2VDR ancora in esecuzione" msgid "Imports xmltv epg into vdr" msgstr "" + +#~ msgid "append" +#~ msgstr "Aggiungi" @@ -786,7 +786,7 @@ void cMenuSetupXmltv2vdrChannelMap::output(void) Add(first,true); Add(new cMenuEditIntItem(tr("days in advance"),&days,1,daysmax),true); - Add(new cMyMenuEditBitItem(tr("type of processing"),&flags,OPT_APPEND,tr("merge"),tr("append")),true); + Add(new cMyMenuEditBitItem(tr("type of processing"),&flags,OPT_APPEND,tr("merge"),tr("create")),true); c1=Current(); if ((flags & OPT_APPEND)!=OPT_APPEND) { diff --git a/xmltv2vdr.cpp b/xmltv2vdr.cpp index 553e9fe..ad4e575 100644 --- a/xmltv2vdr.cpp +++ b/xmltv2vdr.cpp @@ -74,7 +74,7 @@ void cEPGExecutor::Action() cEPGSource::cEPGSource(const char *Name, cEPGMappings *Maps, cTEXTMappings *Texts) { - dsyslog("xmltv2vdr: added epgsource '%s'",Name); + dsyslog("xmltv2vdr: '%s' added epgsource",Name); name=strdup(Name); pipe=false; daysinadvance=0; @@ -85,14 +85,14 @@ cEPGSource::cEPGSource(const char *Name, cEPGMappings *Maps, cTEXTMappings *Text cEPGSource::~cEPGSource() { - dsyslog("xmltv2vdr: removed epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' epgsource removed",name); free((void *) name); if (parse) delete parse; } bool cEPGSource::ReadConfig() { - dsyslog("xmltv2vdr: reading config of epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' reading config",name); char *fname=NULL; if (asprintf(&fname,"%s/%s",EPGSOURCES,name)!=-1) { @@ -176,7 +176,7 @@ bool cEPGSource::Execute() cExtPipe p; if (p.Open(name,"r")) { - dsyslog("xmltv2vdr: executing epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' executing epgsource",name); int c; while ((c=fgetc(p))!=EOF) { @@ -189,30 +189,30 @@ bool cEPGSource::Execute() int returncode=WEXITSTATUS(status); if ((!returncode) && (result)) { - dsyslog("xmltv2vdr: parsing output of '%s'",name); + dsyslog("xmltv2vdr: '%s' parsing output",name); result[l]=0; if (!parse->Process(result,l)) { - esyslog("xmltv2vdr: failed to parse output of '%s'",name); + esyslog("xmltv2vdr: '%s' failed to parse output",name); ret=false; } } else { - esyslog("xmltv2vdr: epgsource '%s' returned with %i",name,returncode); + esyslog("xmltv2vdr: '%s' epgsource returned with %i",name,returncode); ret=false; } } else { - esyslog("xmltv2vdr: failed to execute '%s'",name); + esyslog("xmltv2vdr: '%s' failed to execute",name); ret=false; } if (result) free(result); } else { - esyslog("xmltv2vdr: failed to open pipe for '%s'",name); + esyslog("xmltv2vdr: '%s' failed to open pipe",name); ret=false; } } @@ -221,7 +221,7 @@ bool cEPGSource::Execute() char *fname=NULL; if (asprintf(&fname,"%s/%s.xmltv",EPGSOURCES,name)!=-1) { - dsyslog("xmltv2vdr: reading '%s' from epgsource '%s'",fname,name); + dsyslog("xmltv2vdr: '%s' reading from '%s'",name,fname); int fd=open(fname,O_RDONLY); if (fd!=-1) @@ -237,33 +237,33 @@ bool cEPGSource::Execute() { if (!parse->Process(result,l)) { - esyslog("xmltv2vdr: failed to parse output of '%s'",name); + esyslog("xmltv2vdr: '%s' failed to parse output",name); ret=false; } } else { - esyslog("xmltv2vdr: failed to read '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to read '%s'",name,fname); ret=false; } free(result); } else { - esyslog("xmltv2vdr: out of memory @'%s'",name); + esyslog("xmltv2vdr: '%s' out of memory",name); ret=false; } } else { - esyslog("xmltv2vdr: failed to stat '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to stat '%s'",name,fname); ret=false; } close(fd); } else { - esyslog("xmltv2vdr: failed to open '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to open '%s'",name,fname); ret=false; } free(fname); @@ -287,6 +287,7 @@ void cEPGSource::Store(void) if (asprintf(&fname1,"%s/%s",EPGSOURCES,name)==-1) return; if (asprintf(&fname2,"%s/%s.new",EPGSOURCES,name)==-1) { + esyslog("xmltv2vdr: '%s' out of memory",name); free(fname1); return; } @@ -294,6 +295,7 @@ void cEPGSource::Store(void) FILE *r=fopen(fname1,"r+"); if (!r) { + esyslog("xmltv2vdr: '%s' cannot read %s",name,fname1); free(fname1); free(fname2); return; @@ -303,8 +305,8 @@ void cEPGSource::Store(void) umask(oldmask); if (!w) { + esyslog("xmltv2vdr: '%s' cannot create %s",name,fname2); fclose(r); - fclose(w); unlink(fname2); free(fname1); free(fname2); |