Skip to content
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
'testtools',
'iso8601',
'python-ntlm',
'mock'
],

test_suite = "v1pysdk.tests",
Expand Down
16 changes: 10 additions & 6 deletions v1pysdk/base_asset.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,15 @@ def __iter__(Class):
"that knows how to be iterated over, so we can say list(v1.Story)"
__metaclass__ = IterableType

def __new__(Class, oid):
def __new__(Class, oid, moment=None):
"Tries to get an instance out of the cache first, otherwise creates one"
cache_key = (Class._v1_asset_type_name, int(oid))
cache_key = (Class._v1_asset_type_name, oid, moment)
cache = Class._v1_v1meta.global_cache
if cache.has_key(cache_key):
self = cache[cache_key]
else:
self = object.__new__(Class)
self = object.__new__(Class)
self._v1_moment = moment
self._v1_oid = oid
self._v1_new_data = {}
self._v1_current_data = {}
Expand All @@ -86,7 +87,10 @@ def idref(self):

@property
def reprref(self):
return "{0}({1})".format(self._v1_asset_type_name, self._v1_oid)
if self._v1_moment:
return "{0}({1}:{2})".format(self._v1_asset_type_name, self._v1_oid, self._v1_moment)
else:
return "{0}({1})".format(self._v1_asset_type_name, self._v1_oid)

@property
def url(self):
Expand Down Expand Up @@ -176,11 +180,11 @@ def _v1_commit(self):

def _v1_refresh(self):
'Syncs the objects from current server data'
self._v1_current_data = self._v1_v1meta.read_asset(self._v1_asset_type_name, self._v1_oid)
self._v1_current_data = self._v1_v1meta.read_asset(self._v1_asset_type_name, self._v1_oid, self._v1_moment)
self._v1_needs_refresh = False

def _v1_get_single_attr(self, attr):
return self._v1_v1meta.get_attr(self._v1_asset_type_name, self._v1_oid, attr)
return self._v1_v1meta.get_attr(self._v1_asset_type_name, self._v1_oid, attr, self._v1_moment)

def _v1_execute_operation(self, opname):
result = self._v1_v1meta.execute_operation(self._v1_asset_type_name, self._v1_oid, opname)
Expand Down
Loading