def parse_cron(expression):
"""parses a cron expression into a dict"""
try:
minute, hour, monthday, month, weekday, _ = expression.split(' ')
except ValueError:
raise InvalidExpression("Invalid number of items in expression: {}"
.format(expression))
result = dict()
result["bysecond"] = [0]
if minute != "*":
result["byminute"] = MinuteParser.parse(minute)
if hour != "*":
result["byhour"] = HourParser.parse(hour)
if monthday != "*":
result["bymonthday"] = MonthDayParser.parse(monthday)
if month != "*":
result["bymonth"] = MonthParser.parse(month)
if weekday != "*":
# rrule uses 0 to 6 for monday to sunday
result["byweekday"] = [d - 1 for d in WeekDayParser.parse(weekday)]
return result
评论列表
文章目录