Пример #1
0
        public Song(XMLNodeG recordNode) : base(MBEntityType.recording)
        {
            if (recordNode.node.Name == "recording")
            {
                this.Name = recordNode.GetChild("title").InnerText;
                this.MBID = recordNode.GetAttributeVal("id");

                //-------------- Get duration ---------------------
                string dur = recordNode.GetChild("length").InnerText;
                if (dur != "") //if duration exists
                {
                    this.duration = int.Parse(dur);
                }

                //-------------- Get artists ---------------------
                foreach (XMLNodeG ArtistNode in recordNode.GetChildren("artist-credit"))
                {
                    foreach (XMLNodeG ArtistNameNode in ArtistNode.GetChildren("name-credit"))
                    {
                        Artists.Add(new Artist(ArtistNameNode));
                        Artists.Reverse(); //featured artists are always shown first for some reason, make them come last
                    }
                }

                //-------------- Get releases ---------------------

                foreach (XMLNodeG releaseListNode in recordNode.GetChildren("release-list"))
                {
                    foreach (XMLNodeG releaseNode in releaseListNode.GetChildren("release"))
                    {
                        Releases.Add(new Release(releaseNode));
                    }
                }
            }
        }
Пример #2
0
        private static OutputArtistNode MapBandWithInfoToOutputArtist(ArtistEnhancerConfiguration artistEnhancerConfiguration, ArtistNode artist, BandWikiPageInfo bandWithInfo)
        {
            var outputArtist = new OutputArtistNode(artist);

            outputArtist.WikiPage = string.Format(artistEnhancerConfiguration.WikiSearchConfig.WikiPageGetTemplateUrl, bandWithInfo.Language, bandWithInfo.PageId);
            return(outputArtist);
        }