def send_to_database(self, keywords, keyword_type, document_name,
                         agenda_code, sentences):
        """ Create the Extracted Data type, send it to send_database function.

        Create an Extracted Data object for each value in keywords, and send them
        to send_extracted_data_to_database function only if the ExtractedData object
        has valid data.

        Args:
            keywords: A list of tagged keywords.

            keyword_type: A String representing the type that the keywords are.
            (Councillor, Person, Address, Business Name).

        Returns:
            Void.
        """

        database = insert()
        try:
            for keyword in keywords:
                try:
                    print("Key Word Type: %s || %s " % (keyword_type, keyword))
                    extracted_data = ExtractedData(agenda_code, agenda_code,
                                                   document_name, keyword,
                                                   keyword_type)
                    if extracted_data.valid == False:
                        raise AttributeError

                except (TypeError) as e:
                    message = "None Type was passed in: %s" % (e.args)
                    print(message)

                keyword_frequency = 0
                for line in sentences:
                    keyword_frequency += line.count(keyword)
                print("Frequency: %s" % (keyword_frequency))

                # send the data to the method that will pass it to the database
                #self.send_extracted_data_to_database(extracted_data)

                insert.insertKeyPhrase(extracted_data.key_phrase,
                                       extracted_data.type_key_phrase)
                insert.insertIsWithin(extracted_data.key_phrase,
                                      self.agenda_code, self.document_name,
                                      keyword_frequency)
                #insert.insertIsWithin(extracted_data.key_phrase, self.agenda_code, self.document_name, keyword_frequency)
        except (TypeError) as e:
            message = "None Type was passed in: %s" % (e.args)
            print(message)
 def test_key_phrase_none(self):
     bad_data = ExtractedData("Peter Something", "Agenda Name",
                              "Document Name", "Peter Something", 23)
     self.assertTrue(bad_data.type_key_phrase == None)
class TestUnit(TestCase):
    def setUp(self):
        self.type_key_phrases = "Citizen"  #, "Some other tag"]
        self.ex_data1 = ExtractedData("Agenda Code", "Agenda Name",
                                      "Document Name", "Peter Something",
                                      self.type_key_phrases)

    def test_pass_valid_class_fields(self):
        #x = 5
        self.assertTrue(self.ex_data1.valid)

        #self.assertTrue(x != x)

    def test_show_data(self):
        expected = "Key Phrase: Peter Something || Type: Citizen || "\
                                    "Agenda Code: Agenda Code" \
                                    " || Agenda Name: Agenda Name || Document Name: Document Name"

        self.assertTrue(expected == self.ex_data1.show_data())

    def test_agenda_code(self):
        self.assertTrue(self.ex_data1.agenda_code == "Agenda Code")

    def test_agenda_name(self):
        self.assertTrue(self.ex_data1.agenda_name == "Agenda Name")

    def test_docuemnt_name(self):
        self.assertTrue(self.ex_data1.document_name == "Document Name")

    def test_key_type(self):
        expected_key_phrases = "Citizen"  #, "Some other tag"]
        self.assertTrue(self.ex_data1.type_key_phrase == expected_key_phrases)

    def test_key_phrase(self):
        self.assertTrue(self.ex_data1.key_phrase == "Peter Something")

    def test_agenda_code_valid(self):
        bad_data = ExtractedData(12, "Agenda Name", "Document Name",
                                 "Peter Something", self.type_key_phrases)
        self.assertFalse(bad_data.valid)

    def test_agenda_code_none(self):
        bad_data = ExtractedData(12, "Agenda Name", "Document Name",
                                 "Peter Something", self.type_key_phrases)
        self.assertTrue(bad_data.agenda_code == None)

    def test_agenda_name_valid(self):
        bad_data = ExtractedData("Peter Something", 12.3, "Document Name",
                                 "Peter Something", self.type_key_phrases)
        self.assertFalse(bad_data.valid)

    def test_agenda_name_none(self):
        bad_data = ExtractedData("Peter Something", 12.3, "Document Name",
                                 "Peter Something", self.type_key_phrases)
        self.assertTrue(bad_data.agenda_name == None)

    def test_document_name_valid(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name", 35,
                                 "Peter Something", self.type_key_phrases)
        self.assertFalse(bad_data.valid)

    def test_document_name_none(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name", 35,
                                 "Peter Something", self.type_key_phrases)
        self.assertTrue(bad_data.document_name == None)

    def test_key_phrase_valid(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name",
                                 "Document Name", 23, self.type_key_phrases)
        self.assertFalse(bad_data.valid)

    def test_key_phrase_none(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name",
                                 "Document Name", 23, self.type_key_phrases)
        self.assertTrue(bad_data.key_phrase == None)

    def test_key_phrase_type_valid(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name",
                                 "Document Name", "Peter Something", 23)
        self.assertFalse(bad_data.valid)

    def test_key_phrase_none(self):
        bad_data = ExtractedData("Peter Something", "Agenda Name",
                                 "Document Name", "Peter Something", 23)
        self.assertTrue(bad_data.type_key_phrase == None)
 def test_key_phrase_type_valid(self):
     bad_data = ExtractedData("Peter Something", "Agenda Name",
                              "Document Name", "Peter Something", 23)
     self.assertFalse(bad_data.valid)
 def test_document_name_none(self):
     bad_data = ExtractedData("Peter Something", "Agenda Name", 35,
                              "Peter Something", self.type_key_phrases)
     self.assertTrue(bad_data.document_name == None)
 def test_document_name_valid(self):
     bad_data = ExtractedData("Peter Something", "Agenda Name", 35,
                              "Peter Something", self.type_key_phrases)
     self.assertFalse(bad_data.valid)
 def test_agenda_name_none(self):
     bad_data = ExtractedData("Peter Something", 12.3, "Document Name",
                              "Peter Something", self.type_key_phrases)
     self.assertTrue(bad_data.agenda_name == None)
 def test_agenda_name_valid(self):
     bad_data = ExtractedData("Peter Something", 12.3, "Document Name",
                              "Peter Something", self.type_key_phrases)
     self.assertFalse(bad_data.valid)
 def setUp(self):
     self.type_key_phrases = "Citizen"  #, "Some other tag"]
     self.ex_data1 = ExtractedData("Agenda Code", "Agenda Name",
                                   "Document Name", "Peter Something",
                                   self.type_key_phrases)