( args, parameter )
| 35 | import IECore |
| 36 | |
| 37 | def __parseDateTime( args, parameter ) : |
| 38 | |
| 39 | import datetime |
| 40 | |
| 41 | if not len( args ) : |
| 42 | raise SyntaxError( "Expected date/time." ) |
| 43 | |
| 44 | |
| 45 | dateStr = args[0] |
| 46 | if not type( dateStr ) is str : |
| 47 | raise SyntaxError( "Expected date/time." ) |
| 48 | |
| 49 | for format in [ "%Y-%m-%d %H:%M:%S", "%Y-%m-%d %H:%M", "%Y-%m-%d" ] : |
| 50 | |
| 51 | try : |
| 52 | date = datetime.datetime.strptime( dateStr, format ) |
| 53 | d = IECore.DateTimeData( date ) |
| 54 | parameter.setValidatedValue( d ) |
| 55 | del args[0] |
| 56 | return |
| 57 | except : |
| 58 | pass |
| 59 | |
| 60 | # If no day specified, use today |
| 61 | for format in [ "%H:%M:%S", "%H:%M" ] : |
| 62 | |
| 63 | try : |
| 64 | date = datetime.datetime.strptime( dateStr, format ) |
| 65 | today = datetime.datetime.now() |
| 66 | date = date.replace( day = today.day, month = today.month, year = today.year ) |
| 67 | d = IECore.DateTimeData( date ) |
| 68 | parameter.setValidatedValue( d ) |
| 69 | del args[0] |
| 70 | return |
| 71 | except : |
| 72 | pass |
| 73 | |
| 74 | raise SyntaxError( "Not a valid date/time: '%s'" % ( dateStr ) ) |
| 75 | |
| 76 | |
| 77 | def __serialiseDateTime( parameter, value ) : |
nothing calls this directly
no test coverage detected