コード例 #1
0
        public myfigurecollection ParseFromString(string input)
        {
            StringReader       sr     = new StringReader(input);
            XmlReader          xr     = XmlReader.Create(sr);
            myfigurecollection result = (myfigurecollection)xmlSerializer.Deserialize(xr);

            xr.Dispose();
            sr.Close();
            return(result);
        }
コード例 #2
0
        bool DumpPass()
        {
            for (short i = 1; i < 500; i++)
            {
                if (!TestForDumpMetadata("search", "", i))
                {
                    HandleSearchPage(i);
                    SetDumpMetadata("search", "", i);
                    return(true);
                }
            }

            DateTime now     = DateTime.Now;
            DateTime nowHour = new DateTime(now.Year, now.Month, now.Day, now.Hour, 0, 0);

            if (!TestForDumpMetadata("hourly", "", nowHour))
            {
                HandleSearchPage(1);
                SetDumpMetadata("hourly", "", nowHour);
                return(true);
            }

            int?unscrapedId = FindUnscrapedFigureId();

            if (unscrapedId.HasValue)
            {
                ScrapeImages(unscrapedId.Value);
                return(true);
            }

            int numKnownFigures = GetNumKnownFigures();

            for (int i = 1; i < numKnownFigures; i++)
            {
                if (!TestForFigureRow(i))
                {
                    myfigurecollection byId = client.QueryById(i);
                    int contained           = Convert.ToInt32(byId.items[0].count);
                    if (contained > 0)
                    {
                        HandleFigure(byId.items[0].item[0]);
                    }
                    else
                    {
                        WriteDisabledFigureRow(i);
                    }
                    return(true);
                }
            }

            return(false);
        }
コード例 #3
0
        void HandleSearchPage(short i)
        {
            myfigurecollection data = client.GetSearchPage(i);

            foreach (myfigurecollectionItems page in data.items)
            {
                int knownFiguresInDb   = GetNumKnownFigures();
                int knownFiguresOnSite = Convert.ToInt32(page.count);
                if (knownFiguresOnSite > knownFiguresInDb)
                {
                    InsertNumKnownFigures(knownFiguresOnSite);
                }
                foreach (myfigurecollectionItemsItem item in page.item)
                {
                    int id = Convert.ToInt32(item.id);
                    if (!TestForFigureRow(id))
                    {
                        HandleFigure(item);
                    }
                }
            }
        }