Прежде всего вопрос: роли сервера и клиента не перепутали? По описанию всё выглядит именно так.
Клиент должен забирать файл, а не сервер ему впихивать. Максимум сервер должен вернуть клиенту в ответ на запрос ссылку на файл, а клиент стандартными средствами его скачивает - по http или по ftp в конце концов… зачем городить велосипед на костылях?
Мне думается, изрядная доля причины в недостаточном понимании объектной модели Python, областей видимости, и устройства классов в нём.
Без этого браться за такую сложную штуку - малопродуктивно.
Ну, что, разобрались? Эта ошибка обычно означает, что в коде перепутаны отступы пробелами и отступы табуляцией. Должны быть во всём коде одного типа. Проверьте.
Уважаемый вопрошающий, оберните код в вопросе тегами code.
А вы сами пробовали что-то написать? Даже, если не работает, лучше показать. Длинный код лучше спрятать под спойлер. Сообщения об ошибках лучше привести полностью.
Yupiter7575, повторюсь - я не против тега Python, отнюдь. Но вопрос должен хоть что-то содержать о Python, хоть строчку кода, хоть текст ошибки python-овской. Иначе это тег-спам, и должен быть устранен.