public static CardDetailEntry ExtractImagePath(string html) { HtmlDocument doc = CommonHelpers.GetHtmlDocumentFromHtml(html); var results = new List<HtmlNode>(); HtmlNodeHelpers.FindNodesWithNameAndAttribute(doc.DocumentNode, "img", "src", new List<HtmlNode>(), results); Debug.Assert(results.Count > 0); HtmlNode imageNode = results[0]; var completeUri = new Uri(new Uri(CommonHelpers.BaseCardUrl), HtmlNodeHelpers.GetAttributeValue(imageNode, "src")); var detailEntry = new CardDetailEntryString {FieldName = CardFieldName.Image}; detailEntry.AddData(new CardFieldDataLink {Data = completeUri.AbsoluteUri}); return detailEntry; }
private void AssignFieldFromEntry(CardDetailEntry entry) { switch (entry.FieldName) { case CardFieldName.CardName: CardName = (CardDetailEntryString) entry; break; case CardFieldName.ManaCost: ManaCost = (CardDetailEntrySequence) entry; break; case CardFieldName.ConvertedManaCost: if (!Int32.TryParse(((CardDetailEntryString) entry).Value, out ConvertedManaCost)) { Debug.Assert(false); } break; case CardFieldName.Types: Types = (CardDetailEntryString) entry; break; case CardFieldName.CardText: CardText = (CardDetailEntrySequence) entry; CardTextInnerHtml = entry.InnerHtmlCode; CardTextOuterHtml = entry.OuterHtmlCode; break; case CardFieldName.Watermark: Watermark = (CardDetailEntryString) entry; break; case CardFieldName.PowerToughness: ExtractPowerToughnessOrLoyalty(((CardDetailEntryString) entry).Value, out Power, out Toughness); break; case CardFieldName.Expansion: Expansion = (CardDetailEntrySequence) entry; break; case CardFieldName.Rarity: Rarity = (CardDetailEntryString) entry; break; case CardFieldName.CardNumber: CardNumber = (CardDetailEntryString) entry; break; case CardFieldName.Artist: Artist = (CardDetailEntryString) entry; break; case CardFieldName.CommunityRating: CommunityRating = (CardDetailEntryString) entry; break; case CardFieldName.Image: ImageUrl = (CardDetailEntryString) entry; break; } }