Генератор файлов по шаблону с макросами (почти доргенератор)

Андрей18 років у сервісі
Дані замовника будуть вам доступні після подання заявки
18.11.2018

Есть файл формата CSV с разделителями нескольких видов ниже. На выходе должен получиться UTF-8 файл с названием: {номер прошлого месяца}{год}{имя шаблона} указанным расширением и блоки с повторяющимися макросами должны заполниться данными из CSV файла с указанием разделителя. Скрипт может быть на php или на python

Date;Summ;address;currency;description;number;transaction

10.02.2018 10:15:01 AM;moskow 23/2;USD;for servers 3423;545;9322368972

10.07.2018 10:15:01 AM;moskow 23/2;USD;for servers 3423;545;9322368972

09.02.2018 10:15:01 AM;moskow 23/2;USD;for servers 3423;545;9322368972

10.02.2018 10:15:01 AM;moskow 23/2;USD;for servers 3423;545;9322368972

(данные конечно будут не одинаковые в строках)

Есть шаблон с настройками и макросами такого вида:

separator= ;

Date_format: 11/13/2018 10:15:01 AM

{{from_date}}-{{to_date}}

{{today_date}}

{{random-34}}

{{random-34}}

<<>>{{Date}}

{{Summ}}

{{address}}

>{{currency}}

{{description}}

{{number}}

{{transaction}}

><<>>

- Нужен минимальный веб интерфейс с выбором шаблона с выпадающего списка

- Каждый шаблон должен быть задан отдельным файлом в папке config

- В веб интерфейсе должны быть  

* текстовое поле для указания разделителя для входного файла  

* выбор файла с загрузкой через веб 

* кнопка "Generate" 

* ссылка на сгенерированный файл 

* Поля "from" и "to" c выбором даты и времени, макросы {{from_date}} и {{to_date}} формат: "2018-11-05T00:00:00+01:00", время и зона по умолчанию 00:00:00+01:00

- Нужны следующие универсальные макросы 

* рэндомное айди с латинских букв (только маленькие) и цифр длинной N символов, макрос {{random-N}}, где N - количество символов 

* сегодняшняя дата с макросом {{today_date}}, формат: "2018-11-05T00:00:00+01:00" время и зона по умолчанию 00:00:00+01:00

- Нужно придумать специальный макрос, который будет конвертировать дату разных форматов в формат "2018-11-05T00:00:00+01:00". На данный момент есть такие форматы: 

11/13/2018 10:15:01 AM 

"9/4/2018","15:34:25" - то есть тут дата и время отдельные поля в CSV  

2018-10-11 16:34:24 +0300

Так же, должна быть возможность добавлять шаблоны для времени в настройках.  

- сделать защиту от сбоя, если каким то чудом, в поле CSV файла окажется разделитель, который указан в шаблоне CSV - скрипт должен выдать ошибку "разделитель .. найден в поле таком то запись такая то"

- сделать вывод других ошибок, если нету указанной переменной, которая указана в шаблоне

- сделать авторизацию по паролю

Заявки фрілансерів