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)
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