None of this looks general--it's very app-specific.  I would eliminate this file and add the functionality directly to cache_subtitles.