Dokumentation

An argparse-extension for parsing command-line arguments as objects of the datetime-module.

class timeparse.ParseTime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Action for argparse.ArgumentParser.add_argument() to parse cmdline-parameters as datetime.time.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--time',
... action=timeparse.ParseTime
... )
>>> parser.parse_args('--time 23:20:33'.split()).time
datetime.time(23, 20, 33)
class timeparse.ParseDate(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Action for argparse.ArgumentParser.add_argument() to parse cmdline-parameters as datetime.date.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--date',
... action=timeparse.ParseDate
... )
>>> parser.parse_args('--date 24/04/2013'.split()).date
datetime.date(2013, 4, 24)
class timeparse.ParseTimedelta(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Action for argparse.ArgumentParser.add_argument() to parse cmdline-parameters as datetime.timedelta.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--days',
... nargs='+',
... action=timeparse.ParseTimedelta
... )
>>> parser.parse_args('--days 20 12 4'.split()).days
datetime.timedelta(20, 43440)
>>> parser.parse_args('--days 20h 12m 4s'.split()).days
datetime.timedelta(20, 72724)

If the dest-property of argparse.Action (which is by default the literal part of the option-string) matches one of the kwargs accepted by datetime.timedelta the values are interpreted starting with this unit with the next lesser unit following. If the values could be flagged with some letters matching those kwargs. In the first exemple above the values are interpreted as 20 days, 12 hours and 4 min. In the second one as 20 hours, 12 minutes and 4 seconds.

class timeparse.ParseDatetime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Action for argparse.ArgumentParser.add_argument() to parse cmdline-parameters as datetime.datetime.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--datetime',
... nargs='+',
... action=timeparse.ParseDatetime
... )
>>> parser.parse_args('--datetime 24/04/2013 23:22'.split()).datetime
datetime.datetime(2013, 4, 24, 23, 22)
class timeparse.ParseTimeOrDatetime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Action for argparse.ArgumentParser.add_argument() to parse cmdline-parameters either as datetime.time or datetime.datetime..

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--time-or-datetime',
... nargs='+',
... action=timeparse.ParseTimeOrDatetime
... )
>>> parser.parse_args('--time-or-datetime 24/04/2013 23:22'.split()).time_or_datetime
datetime.datetime(2013, 4, 24, 23, 22)
>>> parser.parse_args('--time-or-datetime 23:22'.split()).time_or_datetime
datetime.time(23, 22)
class timeparse.AppendTime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Like ParseTime with support for multiple use of arguments.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--time',
... action=timeparse.AppendTime
... )
>>> parser.parse_args('--time 23:20:33 --time 22:20'.split()).time
[datetime.time(23, 20, 33), datetime.time(22, 20)]
class timeparse.AppendDate(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Like ParseDate with support for multiple use of arguments.

usage:
>>> import argparse
>>> import timeparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument(
... '--date',
... action=timeparse.AppendDate
... )
>>> parser.parse_args('--date 23.4.13 --date 24.4.13'.split()).date
[datetime.date(2013, 4, 23), datetime.date(2013, 4, 24)]
class timeparse.AppendTimedelta(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Like ParseTimedelta with support for multiple use of arguments.

class timeparse.AppendDatetime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Like ParseDatetime with support for multiple use of arguments.

class timeparse.AppendTimeOrDatetime(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Like ParseTimeOrDatetime with support for multiple use of arguments.

Previous topic

timeparse

This Page