diff options
author | Ben Tremblay <benoit.tremblay1@gmail.com> | 2009-11-05 19:53:51 (GMT) |
---|---|---|
committer | Ben Tremblay <benoit.tremblay1@gmail.com> | 2009-11-05 19:53:51 (GMT) |
commit | 4b292b46acb6ecf08fbfe980cefaaeba51199aab (patch) | |
tree | 1856aeb8f359c7d540c83e40471fd092bbda70f2 | |
parent | d50c3cd98d6e99c7311286559136dc1a775a326d (diff) |
publish now returns the newly published tutorial id
-rw-r--r-- | tests/storetests.py | 4 | ||||
-rw-r--r-- | tutorius/store.py | 18 |
2 files changed, 15 insertions, 7 deletions
diff --git a/tests/storetests.py b/tests/storetests.py index 1752fe6..f3d813c 100644 --- a/tests/storetests.py +++ b/tests/storetests.py @@ -15,6 +15,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import unittest +import uuid from tests.utils import skip, catch_unimplemented import random @@ -99,13 +100,14 @@ class StoreProxyLoginTest(unittest.TestCase): 'name': 'newtut', 'summary': 'This is a tutorial', 'filename': 'test.xml', + 'guid': str(uuid.uuid1()), 'homepage': 'http://google.com', 'version': '1', 'cat1': '17', 'cat2': '18', 'cat3': '' } - assert self.store.publish('This should be a real tutorial...', tutorial_info) + assert self.store.publish('This should be a real tutorial...', tutorial_info) != -1 @catch_unimplemented def test_unpublish(self): diff --git a/tutorius/store.py b/tutorius/store.py index 81925ed..d9ea3ea 100644 --- a/tutorius/store.py +++ b/tutorius/store.py @@ -323,11 +323,11 @@ class StoreProxy(object): headers = { 'X-API-Auth' : self.api_auth_key } response = self.conn.request_post(request_url, None, None, None, headers) - + if self.helper.iserror(response): - return False + return -1 - return True + return tutorial_store_id # Otherwise, we want to publish a new tutorial if tutorial_info == None: @@ -338,11 +338,17 @@ class StoreProxy(object): headers = { 'X-API-Auth' : self.api_auth_key } response = self.conn.request_post(request_url, tutorial_info, tutorial, tutorial_info['filename'], headers) - + if self.helper.iserror(response): - return False + return -1 + + xml_response = minidom.parseString(response['body']) + + id_node = xml_response.getElementsByTagName("id")[0] + + id = id_node.getAttribute('value') - return True + return id def unpublish(self, tutorial_store_id): |