Может стоит сначала разобраться почему перехват базового эксепшна - это плохо, а потом уже переводить все на pythonic код?
Потому, что лень было смотреть в методы и читать документацию, кто какие raise возвращает. Потому, что "я сделал вам шаблон", и "мне плевать, что он не Python Style, а Java/PHP", "А еще я в return помещу метод, который получает в качестве аргумента метод, у которого в аргументе еще один метод, и не оставлю ни какой docstring к этому. А все ваши код ревью я буду отметать, если они не будут так как я хочу )