/[xmltv_parser]/trunk/libxmltv/Core/XMLTVProgramCollection.cs
ViewVC logotype

Contents of /trunk/libxmltv/Core/XMLTVProgramCollection.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 73 - (show annotations) (download)
Sat Mar 9 10:27:39 2013 UTC (6 years, 11 months ago) by william
File size: 6460 byte(s)

1 //using System;
2 //using System.Collections.Generic;
3 //using System.Linq;
4 //using System.Text;
5 //using libxmltv.Interfaces;
6 //using System.Xml.Linq;
7 //using System.Globalization;
8 //using System.Windows.Forms;
9
10 //namespace libxmltv.Core
11 //{
12 // internal class XMLTVProgramCollection : XMLTVBase<XMLTVRuntimeInstance>, IXMLTVProgramCollection, IDisposable
13 // {
14 // private Dictionary<int, IXMLTVProgram> entries = new Dictionary<int, IXMLTVProgram>();
15 // //internal static void CreateInstance(XMLTVRuntimeInstance xmltv)
16 // //{
17 // // using (XMLTVProgramCollection g = new XMLTVProgramCollection(xmltv)) { g.instance.Programs = g.Collection; }
18 // //}
19 // //private XMLTVRuntimeInstance instance;
20 // protected XMLTVProgramCollection(XMLTVRuntimeInstance instance) : base(instance, XMLTVConstants.CHANNEL_ELEMENT)
21 // {
22 // xmltv_logger.Debug.WriteLine("Creating Instance of XMLTVProgramCollection");
23 // Create();
24 // xmltv_logger.Debug.WriteLine("Created Instance of XMLTVProgramCollection");
25 // xmltv_logger.Info.WriteLine(this.ToString());
26 // }
27
28 // #region IXMLTVProgramCollection members
29 // public Dictionary<int, IXMLTVProgram> Collection
30 // {
31 // get { return entries; }
32 // }
33 // #endregion
34
35 // private DateTime ParseDate(string timeStamp)
36 // {
37 // DateTime dt = new DateTime();
38 // try
39 // {
40 // dt = DateTime.ParseExact(timeStamp, "yyyyMMddHHmmss zzzz", System.Globalization.CultureInfo.CurrentCulture);
41 // }
42 // catch (Exception ex) { throw ex; }
43 // return dt;
44 // }
45 // private void Create()
46 // {
47 // var doc = XDocument.Parse(this.GetInstance().XmlDoc);
48 // double program_index = 0;
49 // double program_count = doc.Descendants(XMLTVConstants.PROGRAM_ELEMENT).Count();
50 // double progress = 0;
51 // foreach (var c in doc.Descendants(XMLTVConstants.PROGRAM_ELEMENT))
52 // {
53 // if (this.GetInstance().IsAborting)
54 // {
55 // xmltv_logger.Verbose.Debug.WriteLine("Detected Instance abort event...");
56 // break;
57 // }
58 // Program program = new Program();
59
60 // program.Id = (int)program_index;
61 // xmltv_logger.Verbose.Debug.WriteLine("program_Id: {0}", program.Id);
62 // if (c.HasAttributes)
63 // {
64 // var start = c.Attribute(XMLTVConstants.Programs.ProgramStart);
65 // program.Start = start == null ? new DateTime() : ParseDate(start.Value);
66 // if (!program.Start.Equals(new DateTime())) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_start: {0}", start); }
67
68 // var stop = c.Attribute(XMLTVConstants.Programs.ProgramStop);
69 // program.Stop = stop == null ? new DateTime() : ParseDate(stop.Value);
70 // if (!program.Stop.Equals(new DateTime())) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_stop: {0}", stop); }
71
72 // var channelid = c.Attribute(XMLTVConstants.Programs.ProgramChannelId);
73 // if (!string.IsNullOrEmpty(program.Description)){ xmltv_logger.Verbose.Debug.WriteLine("\tprogram_channelid: {0}", channelid);}
74 // IXMLTVChannel channel = new Channel();
75 // string _channelid = channelid == null ? string.Empty : channelid.Value;
76 // if (this.GetInstance().Channels.ContainsKey(_channelid)) { program.Channel = this.GetInstance().Channels[_channelid]; }
77 // else { program.Channel = new Channel(); }
78 // if (!string.IsNullOrEmpty(_channelid)) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_channel: {0}", program.Channel.ToString()); }
79 // }
80 // try
81 // {
82 // var title = c.Descendants(XMLTVConstants.Programs.ProgramTitle).FirstOrDefault();
83 // program.Title = title == null ? string.Empty : title.Value;
84 // }
85 // catch (Exception) { program.Title = string.Empty; }
86 // if (!string.IsNullOrEmpty(program.Title)) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_title: {0}", program.Title == string.Empty ? "empty" : program.Title); }
87 // try
88 // {
89 // var subtitle = c.Descendants(XMLTVConstants.Programs.ProgramSubTitle).FirstOrDefault();
90 // program.SubTitle = subtitle == null ? string.Empty : subtitle.Value;
91 // }
92 // catch (Exception) { program.SubTitle = string.Empty; }
93 // if (!string.IsNullOrEmpty(program.SubTitle)) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_subtitle: {0}", program.SubTitle == string.Empty ? "empty" : program.SubTitle); }
94 // try
95 // {
96 // var description = c.Descendants(XMLTVConstants.Programs.ProgramDescription).FirstOrDefault();
97 // program.Description = description == null ? string.Empty : description.Value; ;
98 // }
99 // catch (Exception) { program.Description = string.Empty; }
100 // if (!string.IsNullOrEmpty(program.Description)) { xmltv_logger.Verbose.Debug.WriteLine("\tprogram_description: {0}", program.Description == string.Empty ? "empty" : program.Description); }
101
102 // entries.Add(program.Id, program);
103
104 // program_index++;
105 // progress = 100.0 * (program_index / program_count);
106 // xmltv_logger.ReportProgress(this, new Enterprise.Logging.ReportProgressEventArgs((int)progress));
107 // Application.DoEvents();
108 // }
109 // //instance.Programs = Collection;
110 // }
111 // public override string ToString()
112 // {
113 // return string.Format("Total Programs Parsed: {0}", Collection == null ? 0 : Collection.Count);
114 // }
115
116 // public void Dispose()
117 // {
118 // //throw new NotImplementedException();
119 // }
120 // }
121 //
122 //}

  ViewVC Help
Powered by ViewVC 1.1.22