1
私はclick
を使用して、datetime
とカンマで区切られたパラメータのリストを取るCLIを定義しています。クリック型変換
import click
def valid_date(s):
try:
return dt.strptime(s, "%Y-%m-%d")
except ValueError:
msg = "Not a valid date: '{0}'.".format(s)
raise Exception(msg)
except TypeError:
return None
split_parameter = lambda _, __, s: s.split(",")
check_date = lambda _, __, s: valid_date(s)
@click.command()
@click.argument('symbols', callback=split_parameter)
@click.option('--start_date', callback=check_date)
@click.option('--end_date', callback=check_date)
@click.option('--file_name')
def f(symbols, start_date, end_date, file_name):
return None
それは動作しますが、callback
の周りのロジックは少し厄介です。リストを分割してdatetime
に変換すると、クリックの素朴な構造が中断されます。これを行うためのpythonicの方法はありますか?