Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions setup.py
Original file line numberDiff line numberDiff 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 numberDiff line numberDiff 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 DownExpand 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