private void createAndStartThreads() { try { int threadCount = Convert.ToInt16(cmbThreadCount.Text); if (threadCount > users.Count) { threadCount = users.Count; } if (searchStrings.Count == 0) { MessageBox.Show("Enter search criterias."); return; } IList <IList <User> > listofUsers = new List <IList <User> >(); for (int i = 0; i < threadCount; i++) { listofUsers.Add(new List <User>()); } for (int i = 0; i < users.Count; i++) { listofUsers[i % threadCount].Add(users[i]); } IList <VideoExtractorAndCommenter> extractorAndCommenters = new List <VideoExtractorAndCommenter>(); for (int i = 0; i < threadCount; i++) { IAdapter adapter = new WebAdapter(searchStrings[i % searchStrings.Count], 1); IYouTubeAccountPool pool = new YouTubeAccountPool(listofUsers[i], (int)delayMinute.Value); ICommentRepository commentRepository = new CommentRepository(); IVideoCommenter videoCommenter = new VideoCommenter(pool, commentRepository); VideoExtractorAndCommenter videoExtractorAndCommenter = new VideoExtractorAndCommenter(adapter, videoCommenter, (int)minViewCount.Value); extractorAndCommenters.Add(videoExtractorAndCommenter); } for (int i = threadCount; i < searchStrings.Count; i++) { extractorAndCommenters[i % threadCount].addSearchStringPhrase(searchStrings[i]); } foreach (VideoExtractorAndCommenter commenter in extractorAndCommenters) { threads.Add(new System.Threading.Thread(new System.Threading.ThreadStart(commenter.extractVideosAndInsertAComment)) { IsBackground = true }); } for (int i = 0; i < threadCount; i++) { threads[i].Start(); } //new System.Threading.Thread(new System.Threading.ThreadStart(this.test)).Start(); } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
public void extractVideosAndInsertACommentWithNoCommentTest() { try { IYouTubeAccountPool accountPool = new YouTubeAccountPool(YouTubeAccountPool.getUsersFromXml(), 5); ICommentRepository commentRepository = new CommentRepository(); IVideoCommenter videoCommenter = new VideoCommenter(accountPool, commentRepository); IAdapter adapter = new WebAdapter("test", 1); VideoExtractorAndCommenter extractorAndCommenter = new VideoExtractorAndCommenter(adapter, videoCommenter, 10); extractorAndCommenter.extractVideosAndInsertAComment(); } catch (Exception e) { Assert.IsTrue(false, e.Message); } }
public void getYouTubeRequestTest() { try { IList <User> users = new List <User>(); User user = new User(); user.UserName = "******"; user.Password = ""; user.apiKey = ""; user.AppName = "TEST"; users.Add(user); IYouTubeAccountPool pool = new YouTubeAccountPool(users, 3); Assert.IsNotNull(pool.getYouTubeRequest()); } catch (Exception e) { Assert.IsTrue(false, e.Message); } }
private void frmMain_Load(object sender, EventArgs e) { // Instantiate the writer TextWriter _writer = new TextBoxStreamWriter(this.outputtextBox); // Redirect the out Console stream Console.SetOut(_writer); users = YouTubeAccountPool.getUsersFromXml(); foreach (User user in users) { DataGridViewRow row = new DataGridViewRow(); DataGridViewCell cell = new DataGridViewTextBoxCell(); cell.Value = user.UserName; row.Cells.Add(cell); cell = new DataGridViewTextBoxCell(); cell.Value = user.Proxy; row.Cells.Add(cell); usersdataGridView.Rows.Add(row); } cmbThreadCount.SelectedIndex = 0; LoadSetting(); loadSearchCriteria(); }
public void commentVideoTest() { try { IVideoCommenter videoCommenter = new VideoCommenter(new YouTubeAccountPool(YouTubeAccountPool.getUsersFromXml(), 0), new CommentRepository()); string videoId = "VFbYadm_mrw"; Assert.IsTrue(videoCommenter.commentVideo(videoId)); } catch (Exception e) { Assert.IsTrue(false, e.Message); } }