Я создаю простое приложение, которое предоставляет файл конфигурации для пользователя.
Одной из особенностей приложения является то, что оно создает сообщения на сайте социальной сети очень часто. Я бы хотел, чтобы конечный пользователь мог настроить, как часто он это делает.
Моя проблема в том, что я не могу придумать простой для понимания синтаксис, который также является многофункциональным.
Например, у меня могут быть следующие варианты использования с использованием синтаксиса, который я придумал:
freq = "1m" # once per minute
freq = "1D" # once per day
freq = "1D 0300" # once per day at 03:00 GMT
freq = "3D" # three times per day, evenly spaced
freq = "3D 0600 1200 1800" # three times per day at the given times
freq = "1M" # once per month
freq = "1M 01 1D 0300" # once on the 1st of each month at 03:00 GMT
freq = "4M 01 2D 0600 1200 10 20 30" # once on the 10th, 20th and 30th of each month but twice on the 1st at 06:00 and 12:00
Используемый здесь язык конфигурации - TOML.
Этот синтаксис "как часто" выглядит запутанным, запутанным и излишне сложным.
Есть ли стандартный способ сделать это? Если нет, то есть ли простой способ, по которому я скучаю?