コード例 #1
0
ファイル: frmMain_NewUI.cs プロジェクト: ahmetDostr/twtboard
        public void TweetDataExtract()
        {
            try
            {
                if (!string.IsNullOrEmpty(txtTweetExtractCount.Text) && NumberHelper.ValidateNumber(txtTweetExtractCount.Text))
                {
                    TweetExtractCount = Convert.ToInt32(txtTweetExtractCount.Text);

                    if (TweetExtractCount > 2500)
                    {
                        TwitterDataScrapper.TweetExtractCount = 2100;
                        AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Extracting Default No Of Tweet : 2100 ]");
                    }
                    else
                    {
                        TwitterDataScrapper.TweetExtractCount = TweetExtractCount;
                    }
                }
                else
                {
                    AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Entered Count incorrect.Setting Default Count 10 ]");
                }

                //Remove Options of RT or @ mentions MSG's

                if (chk_RTMSG.Checked)
                {
                    TwitterDataScrapper.RemoveRTMSg = true;
                }

                if (chk_RemoveAtMsg.Checked)
                {
                    TwitterDataScrapper.removeAtMentions = true;
                }

                int counter = 0;
                TwitterDataScrapper DataScraper = new TwitterDataScrapper();
                foreach (string item in lstUserId_Tweet)
                {
                    AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Extracting Tweets For " + item + " ]");
                    string ReturnStatus = string.Empty;
                    List<string> TweetData = new List<string>();

                    //if (TwitterDataScrapper.RemoveRTMSg == true)
                    //{
                    //    TweetData = DataScraper.GetOnlyTweetData_Scrape(item, TweetExtractCount, out ReturnStatus);
                    //}
                    //else
                    //{
                    TweetData = DataScraper.GetTweetData_Scrape(item, TweetExtractCount, out ReturnStatus);
                    //}
                    //List<TwitterDataScrapper.StructTweetIDs> tweetData = DataScraper.TweetExtractor_ByUserName_New(item);

                    if (ReturnStatus.Contains("No Error"))
                    {
                        if (TweetData.Count > 0)
                        {
                            foreach (string newItem in TweetData)
                            {
                                AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ " + newItem + " ]");
                            }
                        }
                        else
                        {
                            AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Sorry No Tweets For " + item + " ]");
                        }
                    }
                    else if (ReturnStatus.Contains("Rate limit exceeded"))
                    {
                        AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Rate limit exceeded ]");
                        break;
                    }
                    else if (ReturnStatus.Contains("Sorry, that page does not exist"))
                    {
                        AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ " + item + " >>> Sorry, that page does not exist ]");
                    }
                    else if (ReturnStatus.Contains("Empty"))
                    {
                        AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ " + item + " >>>> Return Empty ]");
                    }
                    else
                    {
                        AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ " + item + " >>> Error in Request ]");
                    }
                }
                AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Finished Extracting Tweets ]");
                AddToTweetCreatorLogs("[ " + DateTime.Now + " ] => [ Tweets Stored In -" + Globals.Path_TweetExtractor + " ]");
                AddToTweetCreatorLogs("-----------------------------------------------------------------------------------------------------------------------");

                //if (txtTweetName.InvokeRequired)
                //{
                //    txtTweetName.Invoke(new MethodInvoker(delegate
                //    {
                //        txtTweetName.Text = "";
                //    }));
                //}

                if (txtExtractorFile.InvokeRequired)
                {
                    txtExtractorFile.Invoke(new MethodInvoker(delegate
                    {
                        txtExtractorFile.Text = "";
                    }));
                }
            }
            catch (Exception ex)
            {
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetDataExtract() --> " + ex.Message, Globals.Path_TweetCreatorErroLog);
                Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> TweetDataExtract() --> " + ex.Message, Globals.Path_TwtErrorLogs);
            }
        }