Example #1
0
 def execute(self):
     nytimes = NY_TIMES()
     cnn = CNN()
     guardian = Guardian()
     reddit = Reddit()
     wsj = WSJ()
     if self.application == 'all':
         print('...searching The New York Times')
         nytimes.search()
         nytimes.keywords()
         nytimes.mains()
         nytimes.top_stories()
         self.write_into_text(nytimes.all_mentions)
         print('...searching CNN')
         cnn.everything()
         self.write_into_text(cnn.all_mentions)
         print('...searching The Guardian')
         guardian.searches()
         self.write_into_text(guardian.num_articles)
         print('...searching Reddit')
         reddit.aggregate_submissions()
         reddit.aggregate_comments()
         self.write_into_text(reddit.all_mentions)
         print('...searching The Wall Street Journal')
         wsj.everything()
         self.write_into_text(wsj.all_mentions)
         self.total_mentions = (nytimes.total_mentions) + len(
             cnn.all_mentions) + (guardian.num_articles) + len(
                 reddit.all_mentions) + len(wsj.all_mentions)
         print('There are a total of ' + str((self.total_mentions)) +
               ' mentions')
         print('The New York Times had ' + str((nytimes.total_mentions)) +
               ' mentions')
         print('CNN had ' + str(len(cnn.all_mentions)) + ' mentions')
         print('The Guardian had ' + str(guardian.num_articles) +
               ' mentions')
         print('Reddit had ' + str(len(reddit.all_mentions)) + ' mentions')
         print('The Wall Street Jornal had ' + str(len(wsj.all_mentions)) +
               ' mentions')
         print('...Generating your model')
         # Send the data to create the matplot graph
         self.data = [(nytimes.total_mentions),
                      len(cnn.all_mentions), (guardian.num_articles),
                      len(reddit.all_mentions),
                      len(wsj.all_mentions)]
         self.data_labels = [
             'The New York Times', 'CNN', 'The Guardian', 'Reddit',
             'The Wall Street Journal'
         ]
         plt.pie(self.data, labels=self.data_labels, autopct='%1.1f%%')
         plt.title('COVID-19 Mentions')
         plt.axis('equal')
         plt.show()
     elif self.application == 'nytimes':
         nytimes.search()
         nytimes.keywords()
         nytimes.mains()
         nytimes.top_stories()
         self.write_into_text(nytimes.all_mentions)
         self.total_mentions = nytimes.total_mentions
         print('The New York Times had ' + str(nytimes.total_mentions) +
               ' mentions')
     elif self.application == 'guardian':
         guardian.searches()
         self.write_into_text(guardian.all_mentions)
         self.total_mentions = guardian.num_articles
         print('The Guardian had ' + str(len(guardian.num_articles)) +
               ' mentions')
     elif self.application == 'cnn':
         cnn.everything()
         self.write_into_text(cnn.all_mentions)
         self.total_mentions = len(cnn.all_mentions)
         print('CNN had ' + str(cnn.all_mentions) + ' mentions')
     elif self.application == 'reddit':
         reddit.aggregate_submissions()
         reddit.aggregate_comments()
         self.write_into_text(reddit.all_mentions)
         self.total_mentions = len(reddit.all_mentions)
         print('Reddit had ' + str(len(reddit.all_mentions)) + ' mentions')
     elif self.application == 'wsj':
         wsj.everything()
         self.write_into_text(wsj.all_mentions)
         self.total_mentions = len(wsj.all_mentions)
         print('The Wall Street Journal had ' + str(len(wsj.all_mentions)) +
               ' mentions')
     else:
         print('Not a valid option')