def _assert_valid_timestamp(timestamp, path):
    try:
        parse_timestamp(timestamp).timetuple()
    except Exception as e:
        dotted_path = '.'.join(path)
        raise AssertionError('Failed to parse timestamp %s for %s: %s' % (
            timestamp, dotted_path, e))
 def _type_check_datetime(self, value):
     if isinstance(value, datetime):
         return True
     try:
         parse_timestamp(value)
         return True
     except (TypeError, ValueError):
         return False
Example #3
0
 def _convert_header_value(self, shape, value):
     if shape.type_name == 'timestamp':
         datetime_obj = parse_timestamp(value)
         timestamp = time.mktime(datetime_obj.timetuple())
         return self._timestamp_rfc822(timestamp)
     else:
         return value
Example #4
0
    def setUp(self):
        super(TestCodeArtifactLogin, self).setUp()

        self.file_creator = FileCreator()
        self.test_pypi_rc_path = self.file_creator.full_path('pypirc')
        if not os.path.isdir(os.path.dirname(self.test_pypi_rc_path)):
            os.makedirs(os.path.dirname(self.test_pypi_rc_path))

        self.domain = 'domain'
        self.domain_owner = 'domain-owner'
        self.repository = 'repository'
        self.auth_token = 'auth-token'
        self.namespace = 'namespace'
        self.duration = 3600
        self.expiration = time.time() + self.duration
        self.expiration_as_datetime = parse_timestamp(self.expiration)

        self.pypi_rc_path_patch = mock.patch(
            'awscli.customizations.codeartifact.login.TwineLogin'
            '.get_pypi_rc_path'
        )
        self.pypi_rc_path_mock = self.pypi_rc_path_patch.start()
        self.pypi_rc_path_mock.return_value = self.test_pypi_rc_path

        self.subprocess_patch = mock.patch('subprocess.check_call')
        self.subprocess_mock = self.subprocess_patch.start()
    def _serialize_type_timestamp(self, xmlnode, params, shape, name):
        datetime_obj = parse_timestamp(params)
        converter = getattr(
            self, '_timestamp_%s' % self.TIMESTAMP_FORMAT.lower())

        final_value = converter(datetime_obj)
        node = ElementTree.SubElement(xmlnode, name)
        node.text = final_value
Example #6
0
 def test_parse_invalid_timestamp(self):
     with self.assertRaises(ValueError):
         parse_timestamp('invalid date')
Example #7
0
 def test_parse_rfc822(self):
     self.assertEqual(
         parse_timestamp('Wed, 02 Oct 2002 13:00:00 GMT'),
         datetime.datetime(2002, 10, 2, 13, 0, tzinfo=tzutc()))
Example #8
0
 def test_parse_epoch_as_string(self):
     self.assertEqual(
         parse_timestamp('1222172800'),
         datetime.datetime(2008, 9, 23, 12, 26, 40, tzinfo=tzutc()))
Example #9
0
 def test_parse_epoch_zero_time(self):
     self.assertEqual(
         parse_timestamp(0),
         datetime.datetime(1970, 1, 1, 0, 0, 0, tzinfo=tzutc()))
Example #10
0
 def test_parse_iso8601(self):
     self.assertEqual(
         parse_timestamp('1970-01-01T00:10:00.000Z'),
         datetime.datetime(1970, 1, 1, 0, 10, tzinfo=tzutc()))
Example #11
0
def _compliance_timestamp_parser(value):
    datetime = parse_timestamp(value)
    # Convert from our time zone to UTC
    datetime = datetime.astimezone(tzutc())
    # Convert to epoch.
    return int(timegm(datetime.timetuple()))
 def _document_datetime(self, section, value, path):
     datetime_tuple = parse_timestamp(value).timetuple()
     datetime_str = str(datetime_tuple[0])
     for i in range(1, len(datetime_tuple)):
         datetime_str += ", " + str(datetime_tuple[i])
     section.write("datetime(%s)," % datetime_str)
Example #13
0
def iso_format(value):
    return parse_timestamp(value).isoformat()
 def _serialize_type_timestamp(self, serialized, value, shape, prefix=''):
     datetime_obj = parse_timestamp(value)
     converter = getattr(
         self, '_timestamp_%s' % self.TIMESTAMP_FORMAT.lower())
     final_value = converter(datetime_obj)
     serialized[prefix] = final_value