X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwstagingmgr%2Frift%2Ftasklets%2Frwstagingmgr%2Fmodel%2Fstaging_area.py;fp=rwlaunchpad%2Fplugins%2Frwstagingmgr%2Frift%2Ftasklets%2Frwstagingmgr%2Fmodel%2Fstaging_area.py;h=473999f1077f09a95e982cde891fec55877851f4;hb=07b439824b5eac4dc760ce56b52fbdcf5539db4c;hp=0000000000000000000000000000000000000000;hpb=39b275b4ba816363b2dcdf403f70daffdeddabcc;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/model/staging_area.py b/rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/model/staging_area.py new file mode 100644 index 00000000..473999f1 --- /dev/null +++ b/rwlaunchpad/plugins/rwstagingmgr/rift/tasklets/rwstagingmgr/model/staging_area.py @@ -0,0 +1,55 @@ +# +# Copyright 2016 RIFT.IO Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Author(s): Varun Prasad +# Creation Date: 09/28/2016 +# + + +import time + +import gi +gi.require_version('RwStagingMgmtYang', '1.0') +from gi.repository import ( + RwStagingMgmtYang, + ) + + +class StagingArea(object): + """A pythonic wrapper around the GI object StagingArea + """ + def __init__(self, model=None): + self._model = model + if not self._model: + self._model = RwStagingMgmtYang.StagingArea.from_dict({}) + + @property + def area_id(self): + return self._model.area_id + + @property + def model(self): + return self._model + + @property + def has_expired(self): + current_time = time.time() + expiry_time = self.model.created_time + self.model.validity_time + if expiry_time <= current_time: + return True + return False + + def as_dict(self): + return self._model.as_dict()