/[xmltv_parser]/trunk/GBPVRProgramDatabaseFixer/SQLLITE.cs
ViewVC logotype

Diff of /trunk/GBPVRProgramDatabaseFixer/SQLLITE.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 171 by william, Sat Mar 16 14:31:24 2013 UTC revision 172 by william, Sat Mar 16 15:15:33 2013 UTC
# Line 315  namespace GBPVRProgramDatabaseFixer Line 315  namespace GBPVRProgramDatabaseFixer
315                  var channel_oid = program.channel_oid;                  var channel_oid = program.channel_oid;
316                  var channel = this.Channels.Find(s => s.oid == channel_oid);                  var channel = this.Channels.Find(s => s.oid == channel_oid);
317                  var start_date = program.start_time;                  var start_date = program.start_time;
318                  var xmltv_entry_list = xmltv_programs.FindAll(s => s.ChannelNumber == channel.channel_number && s.Start == start_date.ToDateTimeString());                  //var xmltv_entry_list = xmltv_programs.FindAll(s => s.ChannelNumber == channel.channel_number && s.Start == start_date.ToDateTimeString());
319                    var query = from c in xmltv_programs
320                                where
321                                c.ChannelNumber == channel.channel_number &&
322                                c.Start == start_date.ToDateTimeString()
323                                select c;
324    
325                  IProgramDefinition xmltv_entry = null;                  IProgramDefinition xmltv_entry = null;
326                  if (xmltv_entry_list.Count > 0)                  if (query.Count()-1 > 0)
327                  {                  {
328                      gLog.Error.WriteLine("Found more than one entry: Matching channel='{0}' and start='{1}'", channel.channel_number, start_date.ToDateTimeString());                      gLog.Error.WriteLine("Found more than one entry: Matching channel='{0}' and start='{1}'", channel.channel_number, start_date.ToDateTimeString());
329                      gLog.Error.WriteLine("    GB-PVR Program Data: oid='{0}' channel_oid='{1}' name='{2}' sub_title='{3}' description='{4}'", program.oid, program.channel_oid, program.name, program.sub_title, program.description);                      gLog.Error.WriteLine("    GB-PVR Program Data: oid='{0}' channel_oid='{1}' name='{2}' sub_title='{3}' description='{4}'", program.oid, program.channel_oid, program.name, program.sub_title, program.description);
330                      if (Debugger.IsAttached)                      if (Debugger.IsAttached)
331                      {                      {                      
332                            gLog.Error.WriteLine("    Found: {0} matching entries", query.Count());
333                            int k_index = 0;
334                            foreach (var k in query)
335                            {
336                                gLog.Error.WriteLine("    query[{0}]: channel='{1}' start='{2}' ('{3}') title='{4}' subtitle='{5}' description='{6}'", k_index, k.ChannelNumber, k.Start, DateTime.Parse(k.Start).ToString("yyyy/MM/dd HH:mm:ss.fffffff"), k.Title, k.SubTitle, k.Description);
337                                k_index++;
338                            }
339                          Debugger.Break();                          Debugger.Break();
340                      }                      }
341                  }                  }
342                  else                  else
343                  {                  {
344                      xmltv_entry = xmltv_entry_list.FirstOrDefault();                      xmltv_entry = query.FirstOrDefault();
345                  }                  }
346    
347                  if (xmltv_entry == null)                  if (xmltv_entry == null)
# Line 338  namespace GBPVRProgramDatabaseFixer Line 351  namespace GBPVRProgramDatabaseFixer
351                  }                  }
352                  else                  else
353                  {                  {
354                        gLog.Warn.WriteLine("Updating GB-PVR Program (if needed): oid='{0}' channel_oid='{1}' title='{2}' subtitle='{3}' start='{4}'", program.oid, program.channel_oid, program.name, program.sub_title, program.start_time.ToDateTimeString());
355                      var updated_program = program;                      var updated_program = program;
356                      updated_program.description = xmltv_entry.Description;                      if (xmltv_entry.Description != program.description)
357                      updated_program.end_time = DateTime.Parse(xmltv_entry.Stop);                      {
358                      updated_program.name = xmltv_entry.Title;                          gLog.Warn.WriteLine("    Updating:");
359                      updated_program.start_time = DateTime.Parse(xmltv_entry.Start);                                              gLog.Warn.WriteLine("        Old Descption: {0}", program.description);
360                      updated_program.sub_title = xmltv_entry.SubTitle;                          gLog.Warn.WriteLine("        New Descption: {0}", xmltv_entry.Description);
361                      gLog.Warn.WriteLine("Updating GB-PVR Program: oid='{0}' channel_oid='{1}' title='{2}' subtitle='{3}' start='{4}'", program.oid, program.channel_oid, program.name,program.sub_title, program.start_time.ToDateTimeString());                          updated_program.description = xmltv_entry.Description;                        
362                      gLog.Warn.WriteLine("    Updated with Program: title='{0}' subtitle='{1}' start='{2}'", updated_program.name,updated_program.sub_title, program.start_time.ToDateTimeString());                      }
363                        if (DateTime.Parse(xmltv_entry.Stop) != program.end_time)
364                        {
365                            gLog.Warn.WriteLine("    Updating:");
366                            gLog.Warn.WriteLine("        Old EndTime: {0}", program.end_time.ToDateTimeString());
367                            gLog.Warn.WriteLine("        New EndTime: {0}", DateTime.Parse(xmltv_entry.Stop).ToDateTimeString());
368                            updated_program.end_time = DateTime.Parse(xmltv_entry.Stop);
369                        }
370                        if (xmltv_entry.Title != program.name)
371                        {
372                            gLog.Warn.WriteLine("    Updating:");
373                            gLog.Warn.WriteLine("        Old Title: {0}", program.name);
374                            gLog.Warn.WriteLine("        New Title: {0}", xmltv_entry.Title);
375                            updated_program.name = xmltv_entry.Title;
376                        }
377                        if (DateTime.Parse(xmltv_entry.Start) != program.start_time)
378                        {
379                            gLog.Warn.WriteLine("    Updating:");
380                            gLog.Warn.WriteLine("        Old StartTime: {0}", program.start_time.ToDateTimeString());
381                            gLog.Warn.WriteLine("        New StartTime: {0}", DateTime.Parse(xmltv_entry.Start).ToDateTimeString());
382                            updated_program.start_time = DateTime.Parse(xmltv_entry.Start);                    
383                        }
384                        if (xmltv_entry.SubTitle != program.sub_title)
385                        {
386                            gLog.Warn.WriteLine("    Updating:");
387                            gLog.Warn.WriteLine("        Old SubTile: {0}", program.sub_title);
388                            gLog.Warn.WriteLine("        New SubTile: {0}", xmltv_entry.SubTitle);
389                            updated_program.sub_title = xmltv_entry.SubTitle;
390                        }
391                      source_valid.Add(updated_program);                      source_valid.Add(updated_program);
392                  }                  }
393                  index++;                  index++;

Legend:
Removed from v.171  
changed lines
  Added in v.172

  ViewVC Help
Powered by ViewVC 1.1.22