コード例 #1
0
    def get_retention_from_backup_policy(self, retention_policy):
        actual_retention_iso8601 = self.backup_type.get_retention_from_backup_policy(
            retention_policy)

        try:
            actual_duration, actual_duration_units = RetentionPeriod.parse_iso8601_retention_period(
                actual_retention_iso8601)
        except ValueError:
            return None

        if actual_duration_units.iso8601_symbol != self.retention_period_units.iso8601_symbol:
            return None
        return actual_duration
コード例 #2
0
 def test_parse_iso8601_retention_period_years(self):
     duration = "P5Y"
     period, unit = RetentionPeriod.parse_iso8601_retention_period(duration)
     self.assertEqual(period, 5)
     self.assertEqual(unit.iso8601_symbol, 'Y')
コード例 #3
0
 def test_parse_iso8601_retention_period_weeks(self):
     duration = "P17W"
     period, unit = RetentionPeriod.parse_iso8601_retention_period(duration)
     self.assertEqual(period, 17)
     self.assertEqual(unit.iso8601_symbol, 'W')
コード例 #4
0
 def test_parse_iso8601_retention_period_months(self):
     duration = "P8M"
     period, unit = RetentionPeriod.parse_iso8601_retention_period(duration)
     self.assertEqual(period, 8)
     self.assertEqual(unit.iso8601_symbol, 'M')
コード例 #5
0
 def test_parse_iso8601_retention_period_days(self):
     duration = "P31D"
     period, unit = RetentionPeriod.parse_iso8601_retention_period(duration)
     self.assertEqual(period, 31)
     self.assertEqual(unit.iso8601_symbol, 'D')