summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2012-05-28 23:56:19 +0200
committerJochen Dolze <vdr@dolze.de>2012-05-28 23:56:19 +0200
commit997e0905ee1c042edb7d624d429281b7c6f76455 (patch)
treec71de4223f9879e1556e65b364971cc14837edfa
parent113de854e04f8de0a6a4680ce29279ef21a6c0a8 (diff)
downloadvdr-plugin-xmltv2vdr-997e0905ee1c042edb7d624d429281b7c6f76455.tar.gz
vdr-plugin-xmltv2vdr-997e0905ee1c042edb7d624d429281b7c6f76455.tar.bz2
Added better debug output on sql errors while parsing xmltv
-rw-r--r--event.cpp2
-rw-r--r--event.h5
-rw-r--r--parse.cpp15
3 files changed, 21 insertions, 1 deletions
diff --git a/event.cpp b/event.cpp
index 49c6d7c..416ee65 100644
--- a/event.cpp
+++ b/event.cpp
@@ -300,6 +300,7 @@ void cXMLTVEvent::CreateEventID(time_t StartTime)
newid|=(tm.tm_min & 0x3F);
eventid=newid & 0xFFFF;
+ weakid=true;
}
void cXMLTVEvent::GetSQL(const char *Source, int SrcIdx, const char *ChannelID, char **Insert, char **Update)
@@ -474,6 +475,7 @@ void cXMLTVEvent::Clear()
episode=0;
episodeoverall=0;
parentalRating=0;
+ weakid=false;
memset(&contents,0,sizeof(contents));
}
diff --git a/event.h b/event.h
index f93e591..c7000a7 100644
--- a/event.h
+++ b/event.h
@@ -49,6 +49,7 @@ private:
int season;
int episode;
int episodeoverall;
+ bool weakid;
tEventID eventid;
tEventID eiteventid;
cXMLTVStringList video;
@@ -89,6 +90,10 @@ public:
void SetPics(const char *Pics);
void CreateEventID(time_t StartTime);
void GetSQL(const char *Source, int SrcIdx, const char *ChannelID, char **Insert, char **Update);
+ bool WeakID()
+ {
+ return weakid;
+ }
cXMLTVStringList *Credits()
{
return &credits;
diff --git a/parse.cpp b/parse.cpp
index e8736bd..cbabb18 100644
--- a/parse.cpp
+++ b/parse.cpp
@@ -844,7 +844,20 @@ int cParse::Process(cEPGExecutor &myExecutor,char *buffer, int bufsize)
if (ret!=SQLITE_OK)
{
if (lerr!=PARSE_SQLERR)
- esyslogs(source,"sqlite3: %s",errmsg);
+ {
+ if (!xevent.WeakID())
+ {
+ esyslogs(source,"sqlite3: %s (%u@%i)",errmsg,xevent.EventID(),node->line);
+ tsyslogs(source,"sqlite3: %s",isql);
+ tsyslogs(source,"sqlite3: %s",usql);
+ }
+ else
+ {
+ esyslogs(source,"sqlite3: %s ('%s'@%i)",errmsg,xevent.Title(),node->line);
+ tsyslogs(source,"sqlite3: %s",isql);
+ tsyslogs(source,"sqlite3: %s",usql);
+ }
+ }
lerr=PARSE_SQLERR;
sqlite3_free(errmsg);
break;