Sermon Story Extractor

Have you ever been in church, and the preacher starts telling one of their stories that you heard six months ago? I am terrified of doing that! But I also know that I have no chance of remembering when and where I told a particular story. So I wrote a simple Python program to comb through my sermons and extract stories. All of my sermon Word documents follow a patterned naming scheme that uses the date. The program uses this fact to remember the last time I ran the story extractor and then grab stories from all of the sermons that are newer than that date. Inside the Word documents, I mark key phrases from my stories in bold, and the program extracts all bold text from the Word document and saves it to a text file (with a divider and the date and title of the sermon so I know which sermon contained the story). I copy and paste the output into Evernote so I can do a search for stories on my phone if needed. I’m sure I miss it every once in a while, but it gives me much greater peace of mind and hopefully keeps my congregation much greater engagement with fresh stories!

The program has a number of ways it could be improved, but it works for my purposes right now. Some ideas for improving it:

  • Add a simple GUI
  • Save the date of last run in a config file and update it automatically instead of having to update the date in the source code
  • LibreOffice randomly breaks up bolded text into different spans underneath the hood, so a single sentence can come out as multiple pieces instead of a contiguous sentence in the extractor. I would love to figure out the pattern here and find a way to automatically re-join those pieces. It works for me right now, so I haven’t made it a priority to fix that annoyance yet.
View on GitHub