* take an s3 destination path as an argument optionally containing the string ++DATE++ as a placeholder (e.g. s3://my-bucket/objects/++DATE++/, s3://my-bucket/objects/++DATE++/file-++DATE++.txt and s3://my-bucket/objects/ should all be valid) I already have something for something more simple, but for s3 maybe use awscli etc? Thanks Seb def dateType(string): """ Convert a date string to a date object """ try: date = datetime.datetime.strptime(string, '%Y-%m-%d').date() except ValueError: msg = "%r is not a valid date" % string raise argparse.ArgumentTypeError(msg) return date
def is_valid_file(parser, arg): if not os.path.exists(arg): parser.error("The file %s does not exist!" % arg) else: return open(arg, 'r')parser = argparse.ArgumentParser( description="Take CLI options called start-date and end-date, which must be formatted YYYY-MM-DD. " "These should default to today if not supplied", epilog="See http://bitbucket.org/niceseb/ for details about the Project Time Tracker.") parser.add_argument('-e', '--end-date', metavar='DATE', type=dateType, default=datetime.date.today(), help='the date tracking data should start at, inclusive in the format YYYY-MM-DD (defaults to today)') parser.add_argument('-s', '--start-date', metavar='DATE', type=dateType, default=datetime.date.today(), help='the date tracking data should end at, inclusive in the format YYYY-MM-DD (defaults to today)') parser.add_argument('-v', action='version', version='%(prog)s 1.0') parser.add_argument('-i', dest="filename", required=False, help="input file name", metavar="FILE", type=lambda x: is_valid_file(parser, x)) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor