use epcohparse() to parse slice's expiration date. Set manifest rspec expiration...
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 12:34:12 +0000 (07:34 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 12:34:12 +0000 (07:34 -0500)
sfa/plc/aggregate.py
sfa/util/sfatime.py

index bda3bbc..ddd8353 100644 (file)
@@ -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))
         
index 11cc566..c5c6a55 100644 (file)
@@ -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))