Skip to content

Commit

Permalink
deprecating Bucket.save() in favor of smarter set()
Browse files Browse the repository at this point in the history
Change-Id: I0cbcd8ea78d77d79cc4a673f5bb310de39325a71
Reviewed-on: http://review.couchbase.org/20165
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Tested-by: Benjamin Young <benjamin@couchbase.com>
  • Loading branch information
BigBlueHat authored and Benjamin Young committed Aug 28, 2012
1 parent 6672975 commit a9130a8
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 5 deletions.
8 changes: 3 additions & 5 deletions couchbase/client.py
Expand Up @@ -251,6 +251,8 @@ def delete(self, key, cas=0):
return self.mc_client.delete(key, cas)

def save(self, document):
warnings.warn("save is deprecated; use set instead",
DeprecationWarning)
value = deepcopy(document)
if '_id' in value:
key = value['_id']
Expand All @@ -269,11 +271,7 @@ def save(self, document):
expiration = 0

if key.startswith('_design/'):
# this is a design doc, we need to handle it differently
view = key.split('/')[1]

rest = self.server._rest()
rest.create_design_doc(self.name, view, json.dumps(value))
self[key] = value
else:
if '_rev' in value:
# couchbase works in clobber mode so for "set" _rev is useless
Expand Down
21 changes: 21 additions & 0 deletions couchbase/tests/test_client.py
Expand Up @@ -239,6 +239,27 @@ def test_gat(self):
self.assertTrue(self.client.get(key)[2] == value)
self.client.delete(key)

@attr(cbv="2.0.0")
def test_save(self):
"""Test deprecated save() method"""
# test memcached key/value "saving"
key = self.client.save({'_id': 'testing_save', 'name': 'Couchbase'})
self.assertEqual(key, 'testing_save')
self.client.delete('testing_save')
# test ddoc handling
design_doc = {"_id": "_design/testing_save_ddoc",
"views":
{"testing":
{"map":
"function(doc) { emit(doc.name, doc.num); }"
}
}
}
key = self.client.save(design_doc)
self.assertEqual(key, '_design/testing_save_ddoc')
rest = self.client.server._rest()
rest.delete_design_doc(self.client.name, 'testing_save_ddoc')

@attr(cbv="1.0.0")
def test_setitem(self):
# test int
Expand Down

0 comments on commit a9130a8

Please sign in to comment.