Мой вопрос посвящен аспекту разработки приложения / скрипта на python.
Существует продукт, который продается, который ожидает определенного формата перед подачей в базу данных.Существуют различные каналы продаж, которые продают этот продукт, и каждый канал продаж создает свой собственный уникальный файл (уникальный в том смысле, что он имеет все требуемые заголовки, хотя названия этих заголовков различаются в зависимости от канала продаж и канала продаж, наряду с различными другими заголовками, которыеможет относиться к определенным аспектам их бизнеса).
Я бы хотел создать приложение / скрипт на python, который можно запускать каждый день для выполнения следующих действий:
- Подключение к SFTP-серверу для разгрузки ежедневного файла (файлы имеютстандартное соглашение об именах)
- Если файлов нет, автоматически отправьте электронное письмо в список рассылки (список рассылки будет отличаться от канала продаж к каналу продаж), чтобы сообщить им, что файл не найден
- Если файл существует, то сценарий сканирует файл, определяет, какой продукт был продан на основе столбца «продукт», добавляет префикс к уникальному идентификатору записи каждой строки в файле (префикс зависит от того, каким каналом продаж он являетсяИсходя из) и добавляет все необходимые столбцы (игнорируя столбцы, которые не относятся к конкретному продукту) к стандартному ежедневному формату файлов для моей системы.
- Я повторяю шаги 1-3 для каждого сервера SFTP, пока не получуодин большой стандартизированный файл (простой текстовый файл, разделенный каналом) для каждого продукта, который поступил из каждого отдельного канала продаж.
- Создание сводного еженедельного и агрегированного ежемесячного отчета для представления общих продаж, сделанных по каждому каналу продаж.Отправляйте еженедельные и ежемесячные отчеты на SFTP-сервер.
Это приложение / сценарий должно быть гибким и надежным, поскольку новые каналы продаж постоянно добавляются на новые сайты SFTP-сервера.Я действительно ищу некоторое понимание того, как я должен идти о разработке этого.
Создаю ли класс или различные классы с функциями, перечисленными выше?Создаю ли я один длинный сценарий, в котором определено множество функций, а затем записываю все в main ()?Я пробовал программировать на Python 3.X в течение нескольких лет, но я всегда писал базовые сценарии и никогда не создавал ничего подобного.Любые отзывы, мысли или понимание будут с благодарностью!Заранее спасибо.
Мне также хотелось бы иметь гибкость для записи статистики и сохранения ее в таблице базы данных (SQL Server).Например, сколько времени потребовалось программе от начала до конца, сколько файлов было собрано в тот день, сколько записей было отсканировано и т. Д. Это идеально, но не является обязательным требованием.