示例#1
0
def main(data_path):
    api = twitter.Api(consumer_key=os.environ['CONSUMER_API_KEY'],
                      consumer_secret=os.environ['CONSUMER_API_SECRET'],
                      access_token_key=os.environ['ACCESS_TOKEN'],
                      access_token_secret=os.environ['ACCESS_SECRET'])

    yes_count = 0
    total_count = 0
    for handle in read_handles(data_path):
        for bio in get_handle_from_bio(api, handle[1:]):
            if bio:
                total_count += 1
                result = bio_contains_pronouns(bio)
                if result == ContainsBio.YES:
                    print("The following bio contains pronouns:")
                    print(handle)
                    print(bio)
                    print('--------------------------------------')
                    yes_count += 1
                if result == ContainsBio.MAYBE:
                    print("Ambiguous bio:")
                    print(handle)
                    print(bio)
                    print('--------------------------------------')
                    # print("Does this bio contain pronouns?")
                    # print(bio)
                    # while True:
                    #     answer = input()
                    #     if answer == 'y':
                    #         yes_count += 1
                    #     elif answer == 'n':
                    #         break
                    #     else:
                    #         print('unrecognised input')

    print('Have pronouns: ' + str(yes_count))
    print('Out of: ' + str(total_count))
 def test_bio_contains_pronouns(self):
     self.assertEqual(bio_contains_pronouns("he/him"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("she/her"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("they/them"), ContainsBio.YES)
 def test_real_examples(self):
     bio = 'Father to three boys. Husband to Hetti. MP for #Hitchin and #Harpenden. Retweets mean take a look at ' \
           'this, they don’t mean I necessarily agree! '
     self.assertEqual(ContainsBio.MAYBE, bio_contains_pronouns(bio))  # should be no
 def test_negatives(self):
     self.assertEqual(bio_contains_pronouns("He who does not know history is doomed to repeat it"),
                      ContainsBio.MAYBE)
     self.assertEqual(bio_contains_pronouns("People who feel the need to put pronouns in their bio are obviously "
                                            "soy boys"),
                      ContainsBio.MAYBE)
 def test_punctuation(self):
     self.assertEqual(bio_contains_pronouns("My pronouns are he/him."), ContainsBio.YES)
     self.assertEqual(bio_contains_pronouns("Standard bio. He/him."), ContainsBio.YES)
     self.assertEqual(bio_contains_pronouns("Standard bio.\nHe/him."), ContainsBio.YES)
     self.assertEqual(bio_contains_pronouns("Standard bio.\nHe/him.\n"), ContainsBio.YES)
 def test_surrounding_words(self):
     self.assertEqual(bio_contains_pronouns("My pronouns are he/him"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("My pronouns are she/her"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("My pronouns are they/them"), ContainsBio.YES)
 def test_case_sensitive(self):
     self.assertEqual(bio_contains_pronouns("He/him"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("she/Her"), ContainsBio.YES)
     self.assertTrue(bio_contains_pronouns("They/Them"), ContainsBio.YES)