From 8311e5564b6ea18bc079515279c8d1cbd4d83e89 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 10 Nov 2011 07:34:12 -0500 Subject: [PATCH] use epcohparse() to parse slice's expiration date. Set manifest rspec expiration date to slice's expiration date --- sfa/plc/aggregate.py | 3 +++ sfa/util/sfatime.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sfa/plc/aggregate.py b/sfa/plc/aggregate.py index bda3bbcc..ddd83539 100644 --- a/sfa/plc/aggregate.py +++ b/sfa/plc/aggregate.py @@ -14,6 +14,7 @@ from sfa.rspecs.elements.pltag import PLTag from sfa.util.topology import Topology from sfa.rspecs.version_manager import VersionManager from sfa.plc.vlink import get_tc_rate +from sfa.util.sfatime import epochparse class Aggregate: @@ -225,6 +226,8 @@ class Aggregate: slice, slivers = self.get_slice_and_slivers(slice_xrn) rspec = RSpec(version=rspec_version, user_options=self.user_options) + if slice and 'expiration_date' in slice: + rspec.set('expires', epochparse(slice['expiration_date'])) rspec.version.add_nodes(self.get_nodes(slice), slivers) rspec.version.add_links(self.get_links(slice)) diff --git a/sfa/util/sfatime.py b/sfa/util/sfatime.py index 11cc566b..c5c6a557 100644 --- a/sfa/util/sfatime.py +++ b/sfa/util/sfatime.py @@ -1,6 +1,7 @@ from types import StringTypes import dateutil.parser import datetime +import time from sfa.util.sfalogging import logger @@ -24,3 +25,5 @@ For safety this can also handle inputs that are either timestamps, or datetimes else: logger.error("Unexpected type in utcparse [%s]"%type(input)) +def epochparse(input): + return time.strftime("%Y-%d-%m-T%H:%M:%SZ", time.localtime(input)) -- 2.47.0