combox

split and encrypted files between online file storage providers
git clone git://git.ricketyspace.net/combox.git
Log | Files | Refs

commit f64e56864dcd316ab1e74b2f5b2ec9462cd1e368
parent 333f8ea6525b1152f9c11abf38f3e7a0a6f757c0
Author: Siddharth Ravikumar <sravik@bgsu.edu>
Date:   Wed,  8 Apr 2015 16:50:50 -0400

new method combox.silo.ComboxSilo.node_rem

The method removes information about a file in the category `type_'
where `type_' can be 'file_created', 'file_modified', 'file_removed',
'file_moved'.

Also wrote tests for it :~(

	modified:   combox/silo.py
	modified:   tests/silo_test.py

Diffstat:
combox/silo.py | 18++++++++++++++++++
tests/silo_test.py | 15+++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/combox/silo.py b/combox/silo.py @@ -176,3 +176,21 @@ class ComboxSilo(object): except KeyError, e: # file_ info not there under type_ dict. return None + + + def node_rem(self, type_, file_): + """ + Removes information about the shard of `file_'. + + type_: 'file_created', 'file_modified', 'file_moved', 'file_deleted' + file_: path of the file_ in combox directory. + """ + + self.reload() + with self.lock: + try: + return self.db.dpop(type_, file_) + except KeyError, e: + # means file_'s info was already removed. + # do nothing + pass diff --git a/tests/silo_test.py b/tests/silo_test.py @@ -198,6 +198,21 @@ class TestSilo(object): assert_equal(2, silo.node_get('file_created', self.LOREM)) + def test_csilo_noderem(self): + """Tests node_rem method in ComboxSilo class + """ + silo = ComboxSilo(self.config, self.silo_lock) + + silo.node_set('file_created', self.LOREM) + silo.node_set('file_created', self.LOREM) + silo.node_set('file_created', self.LOREM) + silo.node_set('file_created', self.LOREM) + assert_equal(4, silo.node_get('file_created', self.LOREM)) + + removed = silo.node_rem('file_created', self.LOREM) + assert_equal(True, removed) + assert_equal(None, silo.node_get('file_created', self.LOREM)) + def teardown(self): """Cleans up things after each test in this class"""