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)
 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)