Revision ea4a21b8 kamaki/cli/argument.py
b/kamaki/cli/argument.py | ||
---|---|---|
36 | 36 |
from kamaki.cli.utils import split_input |
37 | 37 |
from logging import getLogger |
38 | 38 |
from datetime import datetime as dtm |
39 |
from time import mktime |
|
39 | 40 |
|
40 | 41 |
|
41 | 42 |
from argparse import ArgumentParser, ArgumentError |
... | ... | |
262 | 263 |
INPUT_FORMATS = DATE_FORMATS + ["%d-%m-%Y", "%H:%M:%S %d-%m-%Y"] |
263 | 264 |
|
264 | 265 |
@property |
266 |
def timestamp(self): |
|
267 |
v = getattr(self, '_value', self.default) |
|
268 |
return mktime(v.timetuple()) if v else None |
|
269 |
|
|
270 |
@property |
|
271 |
def formated(self): |
|
272 |
v = getattr(self, '_value', self.default) |
|
273 |
return v.strftime(self.DATE_FORMATS[0]) if v else None |
|
274 |
|
|
275 |
@property |
|
265 | 276 |
def value(self): |
266 |
return getattr(self, '_value', self.default)
|
|
277 |
return self.timestamp
|
|
267 | 278 |
|
268 | 279 |
@value.setter |
269 | 280 |
def value(self, newvalue): |
270 |
if newvalue is None: |
|
271 |
return |
|
272 |
self._value = self.format_date(newvalue) |
|
281 |
if newvalue: |
|
282 |
self._value = self.format_date(newvalue) |
|
273 | 283 |
|
274 | 284 |
def format_date(self, datestr): |
275 | 285 |
for format in self.INPUT_FORMATS: |
... | ... | |
277 | 287 |
t = dtm.strptime(datestr, format) |
278 | 288 |
except ValueError: |
279 | 289 |
continue |
280 |
self._value = t.strftime(self.DATE_FORMATS[0]) |
|
281 |
return |
|
290 |
return t # .strftime(self.DATE_FORMATS[0]) |
|
282 | 291 |
raiseCLIError( |
283 | 292 |
None, |
284 | 293 |
'Date Argument Error', |
Also available in: Unified diff