def __call__(self, parser, namespace, values, option_string=None): values = values if isinstance(values, list) else [values] try: if len(values) == 2: datetime = self.combine_datetime(*values) else: datetime = timeparser.parsedatetime(' '.join(values)) except ValueError: raise ArgumentError(self, self.ERR % (values, 'datetime')) else: self.append(namespace, datetime)
def getdatetime(self, section, option): """ Get option as datetime.datetime-instance. Args: section and option Which formats are accepted depens on the configuration of the timeparser-module. Feel free to change it. """ return timeparser.parsedatetime(self.get(section, option))
def test_type(self): self.assertIsInstance(timeparser.parsetime('23:44'), datetime.time) self.assertIsInstance(timeparser.parsedate('24.3.2013'), datetime.date) self.assertIsInstance(timeparser.parsedatetime('24.3.2013,23:44'), datetime.datetime) self.assertIsInstance(timeparser.parsetimedelta('24.3.2013,23:44'), datetime.timedelta)