Мне кажется, что придуманная функция работать не должна. Потому, что её имя connect, а внутри себя она тоже имеет имя connect, но при этом во-пепвых изнутри наружу внутренний connect явно не передаётся, а во-вторых внешний connect с внутренним, получается, конфликтует по имени.
Возможно, существует какая-то магия хендлеров, я с ней не знаком.
Евгений Запунный, настоятельно рекомендую сделать сейчас загрузочную флешку, потом убедиться, что она успешно загружается на макбуке, и сделать её образ. И, например, в архив какой-либо закинуть, в почту себе например.
Затем настроить дома какой-либо NAS (рекомендую xpenology) и настроить в нем режим time machine. И настроить в макбуке автоматическое регулярное резервное копирование. Там это просто.
Во-первых, лучше поправить вопрос и вложить полный текст ошибки. Во-вторых, если текст ошибки длинный, спрячьте его под спойлер. Код тоже можно под спойлер.
Проще всего нанять на фрилансе питониста, он сделает, а вы попросите его откомментировать код. По комментам и разберётесь.
А расписывать вашу задачу тут - это целое задание.
Тут нельзя задания размещать. См.п.5.12
Кроме того, тут нельзя в одном вопросе несколько разнородных совмещать. П.3.7 тех же правил.