summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSiddharth Ravikumar <sravik@bgsu.edu>2015-02-26 02:30:06 -0500
committerSiddharth Ravikumar <sravik@bgsu.edu>2015-02-26 02:30:06 -0500
commitec1b156cd7926e5845c8b6b16762e5fc57ea3a8b (patch)
tree97444c1be6118571a65800788363b6ac420cd217
parent694240de5d0c803b866c1b633ac5b521f32ee111 (diff)
updated combox.silo.ComboxSilo.stale method - added new arg fhash
- the arg `fhash' is set to None by default. - if `fhash' is not None, it is considered as file's current hash. modified: combox/silo.py modified: tests/silo_test.py
-rw-r--r--combox/silo.py8
-rw-r--r--tests/silo_test.py3
2 files changed, 7 insertions, 4 deletions
diff --git a/combox/silo.py b/combox/silo.py
index b1e59f6..21b473d 100644
--- a/combox/silo.py
+++ b/combox/silo.py
@@ -84,17 +84,19 @@ class ComboxSilo(object):
return True
- def stale(self, filep):
+ def stale(self, filep, fhash=None):
"""Returns True if filep's hash is different from the hash stored in db.
Returns None, if filep's info is not yet stored in db.
Returns False, if filep's hash has not changed it.
filep: path to the file in combox directory.
-
+ fhash: If not None, it is assumed to be filep's hash.
"""
- fhash = hash_file(filep)
+ if not fhash:
+ fhash = hash_file(filep)
+
fhash_in_db = self.db.get(filep)
if fhash_in_db is None:
diff --git a/tests/silo_test.py b/tests/silo_test.py
index df905b6..1a290b4 100644
--- a/tests/silo_test.py
+++ b/tests/silo_test.py
@@ -22,7 +22,7 @@ from shutil import copyfile
from os import path, remove
from combox.silo import ComboxSilo
-from combox.file import read_file, write_file
+from combox.file import read_file, write_file, hash_file
from tests.utils import get_config, rm_nodedirs, rm_configdir
@@ -77,6 +77,7 @@ class TestSilo(object):
write_file(self.LOREM_IPSUM, lorem_ipsum_content)
assert csilo.stale(self.LOREM_IPSUM)
+ assert csilo.stale(self.LOREM_IPSUM, hash_file(self.LOREM_IPSUM))
csilo.update(self.LOREM_IPSUM)
assert csilo.stale(self.LOREM_IPSUM) is False