def testAmzGenerationTypeConversions(self):
     amz_gen_as_str = six.ensure_str('9PpsRjBGjBh90IvIS96dgRc_UL6NyGqD')
     amz_gen_as_long = 25923956239092482442895228561437790190304192615858167521375267910356975448388
     self.assertEqual(text_util.DecodeLongAsString(amz_gen_as_long),
                      amz_gen_as_str)
     self.assertEqual(text_util.EncodeStringAsLong(amz_gen_as_str),
                      amz_gen_as_long)
예제 #2
0
def GenerationFromUrlAndString(url, generation):
    """Decodes a generation from a StorageURL and a generation string.

  This is used to represent gs and s3 versioning.

  Args:
    url: StorageUrl representing the object.
    generation: Long or string representing the object's generation or
                version.

  Returns:
    Valid generation string for use in URLs.
  """
    if url.scheme == 's3' and generation:
        return text_util.DecodeLongAsString(generation)
    return generation