Example #1
0
        private static List<Role> GetCast(string castSource)
        {
            var cast = new List<Role>();
            var parts = Regex.Split(castSource, "<tr class=");
            foreach (var part in parts.Skip(1))
            {
                var bit = part.Remove(0, part.IndexOf("<td class=\"name\">"));
                var actorBit = bit.Remove(bit.IndexOf("</td>"));
                actorBit = actorBit.Remove(0, actorBit.IndexOf("href"));
                var bits = Extractor.ExtractAndDecode(@"href=""/name/{X}/""    >{X}<", actorBit);
                var p = new Person {Name = bits[1], Url = bits[0]};

                bit = part.Remove(0, part.IndexOf("<td class=\"character\""));
                var characterBit = bit.Remove(bit.IndexOf("</div>")+2);
                if (characterBit.Contains("href="))
                {
                    characterBit = characterBit.Remove(0, characterBit.IndexOf("<div>") + 5);
                    characterBit = characterBit.Remove(0, characterBit.IndexOf(">"));
                }
                else
                {
                    characterBit = characterBit.Remove(0, characterBit.IndexOf("<div>"));
                }
                bits = Extractor.ExtractAndDecode(">{X}<", characterBit);
                cast.Add(new Role{Actor = p, CharacterName = bits[0]});
            }
            return cast;
        }
Example #2
0
File: Add.cs Project: Umaaz/Komodo
 private void AddToPersonCache(Person person)
 {
     if (!_personCache.ContainsKey(person.Name))
         _personCache.Add(person.Name, person);
 }