Exemplo n.º 1
0
		public Serie loadSerie (string serienname)
		{

			Serie eineSerie = new Serie (serienname.Trim());

			string urlQuelle = "http://www.fernsehserien.de/";
			string serienNameEdit = serienname.Replace (" ", "-");
			urlQuelle += serienNameEdit + "/episodenguide/";
			string html = "";
			try
			{
				html = getHTML (urlQuelle);
			}
			catch (Exception ex)
			{
				//LogWindow.log (LogLevel.Error, ex.Message);
				//LogWindow.log (LogLevel.Error, ex.StackTrace);
				return null;
			}

			HtmlDocument doc = new HtmlDocument();
			doc.LoadHtml (html);

			HtmlNodeCollection htmlNodeColleczion = doc.DocumentNode.SelectNodes ("//tbody[@itemprop=\"season\"]");

			foreach (HtmlNode tbody in htmlNodeColleczion) 
			{
				try
				{
					HtmlDocument doc2 = new HtmlDocument();
					doc2.LoadHtml(tbody.InnerHtml);
					var liste = doc2.DocumentNode.SelectNodes ("//td").Select (p => p.InnerText).ToList ();

					if(liste[0].Contains("Staffel"))
					{
						Staffel eineStaffel = new Staffel (liste[0].ToString().Trim());
												
						for (int index = 1; index <= liste.Count-10; index+=10) 
						{
							Episode eineEpisode = new Episode ();
							eineEpisode.NummerInSerie = liste [index + 1].ToString () + liste [index + 2].ToString ().Trim();
							eineEpisode.NummerInStaffel = liste[index + 3].ToString()  + liste [index + 4].ToString ().Trim();
							eineEpisode.Name_de = liste[index + 6].ToString().Replace(liste[index + 8].ToString().Trim(),"").Trim();
							eineEpisode.Name_eng = liste[index + 8].ToString().Trim();

							if (liste [index + 7].ToString ().Trim().Length == 10) 
							{
								eineEpisode.Erstausstrahlung_de = Convert.ToDateTime (liste [index + 7].ToString ().Trim());
							} 
							else
							{
								string temp = liste [index + 7].ToString ().Replace (liste [index + 9].ToString ().Trim (), "");
								eineEpisode.Erstausstrahlung_de = Convert.ToDateTime (temp);
							}
							eineEpisode.Erstausstrahlung_eng = Convert.ToDateTime(liste[index + 9].ToString().Trim());
							
							eineStaffel.AddEpisode (eineEpisode.NummerInSerie, eineEpisode);
						}
						eineSerie.AddStaffel(eineStaffel.Name, eineStaffel);
					}
				}
				catch (Exception ex)
				{
					//LogWindow.log (LogLevel.Error, ex.Message);
					//LogWindow.log (LogLevel.Error, ex.StackTrace);
				}
			}
			return eineSerie;
		}
Exemplo n.º 2
0
		public Serie loadSerie(string name)
		{
			Serie eineSerie = new  Serie(name);
			try
			{
				string path = string.Format (@"{0}Data/{1}.xml", _Ordnerpfad, name);
                
                XDocument doc = XDocument.Load(path);
                foreach (var element in doc.Descendants("Staffel"))
                {
                    Staffel eineStaffel = new Staffel(element.Attribute("Name").ToString().Trim());
                    foreach (var elementEpisode in element.Descendants("Episode"))
                    {
                        Episode eineEpisode = new Episode();
                        eineEpisode.NummerInSerie = elementEpisode.Element("NummerInSerie").Value;
                        eineEpisode.NummerInStaffel = elementEpisode.Element("NummerInStaffel").Value;
                        eineEpisode.Name_de = elementEpisode.Element("Name_de").Value;
                        eineEpisode.Erstausstrahlung_de = Convert.ToDateTime(elementEpisode.Element("Erstausstrahulung_de").Value.ToString());
                        eineEpisode.Name_eng = elementEpisode.Element("Name_eng").Value;
                        eineEpisode.Erstausstrahlung_eng = Convert.ToDateTime(elementEpisode.Element("Erstausstrahulung_eng").Value.ToString());
                        eineEpisode.IstVorhanden = (bool)elementEpisode.Element("istVorhanden");

                        foreach (var elementSendetermin in elementEpisode.Descendants("Sendetermin"))
                        {
                            Sendetermin einSendetermin = new Sendetermin();
                            einSendetermin.Datum = Convert.ToDateTime(elementSendetermin.Element("Datum").Value.ToString());
                            einSendetermin.Wochentag = elementSendetermin.Element("Wochentag").Value;
							einSendetermin.Sendezeit = elementSendetermin.Element("Sendezeit").Value;
                            einSendetermin.Sender = elementSendetermin.Element("Sender").Value;

                            eineEpisode.AddSendetermin(Convert.ToInt32( elementSendetermin.Attribute("Key").Value), einSendetermin);
                        }
                        eineStaffel.AddEpisode(eineEpisode.NummerInSerie, eineEpisode);
                    }
                    eineSerie.AddStaffel(eineStaffel.Name, eineStaffel);  
                }
           	}
			catch (Exception ex)
			{
				//LogWindow.log (LogLevel.Error, ex.Message);
				//LogWindow.log (LogLevel.Error, ex.StackTrace);
			}
			return eineSerie;
		}