Esempio n. 1
0
    def clean_text(self, text, document, sentmin, sentmax, dictionary, cycle):
        print("applicator selected")
        applicator = Applicator()
        cleaner = Cleaner()
        formatter = Formatter()
        new_text = self.get_string(text)

        cycle_list = [
            "noalpha", "nodeclare", "excaps", "exletters", "firstperson",
            "secondperson", "dupwords", "duplicates", "trimsentlist",
            "checkspelling", "help (or h)"
        ]

        def return_cycles():
            s = ", "
            s = s.join(cycle_list)
            return s

        cleaner.create_sentc_list(new_text)
        if cycle == "full":
            cleaner.remv_noalpha()
            cleaner.remv_nodeclare()
            cleaner.remv_excaps()
            cleaner.remv_exletters()
            cleaner.remv_firstperson()
            cleaner.remv_secondperson()
            cleaner.remv_dupwords()
            cleaner.remv_duplicates()
            cleaner.trim_sentlist(sentmin, sentmax)
            cleaner.check_misspelled(dictionary)

        elif cycle == "noalpha":
            cleaner.remv_noalpha()

        elif cycle == "nodeclare":
            cleaner.remv_nodeclare()

        elif cycle == "excaps":
            cleaner.remv_excaps()

        elif cycle == "exletters":
            cleaner.remv_exletters()

        elif cycle == "firstperson":
            cleaner.remv_firstperson()

        elif cycle == "secondperson":
            cleaner.remv_secondperson()

        elif cycle == "dupwords":
            cleaner.remv_dupwords()

        elif cycle == "duplicates":
            cleaner.remv_duplicates()

        elif cycle == "trimsentlist":
            cleaner.trim_sentlist(sentmin, sentmax)

        elif cycle == "checkspelling":
            cleaner.check_misspelled(dictionary)

        else:
            print("cycle not found")
            print("available cycles:")
            print(return_cycles())
            raise SystemExit

        sentc_list = cleaner.get_sentc_list()
        formatter.set_sentlist(sentc_list)
        formatter.frmt_textlist()
        clean_text = formatter.get_text()
        applicator.apply_text(text=clean_text, document=document)