combox

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

commit a7327e72060fbb4dac783f1af41bcb9b4ea6da76
parent 4095aa4caf8021a6b8f44c2c4ca3b76a9c26a91f
Author: Siddharth Ravikumar <sravik@bgsu.edu>
Date:   Wed,  1 Apr 2015 22:00:18 -0400

updated combox.file.relative_path.

This method now returns relative paths w. r. t all node directories. Before it used to return relative paths only w. r. t the first node directory.

Also updated the tests for it :~(

	modified:   combox/file.py
	modified:   tests/file_test.py

Diffstat:
combox/file.py | 9++++++++-
tests/file_test.py | 12++++++++++--
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/combox/file.py b/combox/file.py @@ -41,10 +41,17 @@ def relative_path(p, config, comboxd=True): combox. """ + directory = None if comboxd: directory = '%s/' % config['combox_dir'] else: - directory = '%s/' % get_nodedirs(config)[0] + for node in get_nodedirs(config): + if p.startswith(node): + directory = '%s/' % node + + if directory is None: + err_msg = "invalid path %s" % p + raise ValueError, err_msg return p.partition(directory)[2] diff --git a/tests/file_test.py b/tests/file_test.py @@ -114,10 +114,14 @@ class TestFile(object): test_file_shard_0 = '%s.shard.0' % test_file_basename test_file_shard_0_abspath = path.join(get_nodedirs(self.config)[0], test_file_shard_0) + test_file_shard_1 = '%s.shard.1' % test_file_basename + test_file_shard_1_abspath = path.join(get_nodedirs(self.config)[1], + test_file_shard_1) assert test_file_shard_0 == relative_path(test_file_shard_0_abspath, self.config, False) - + assert test_file_shard_1 == relative_path(test_file_shard_1_abspath, + self.config, False) def test_cbpath(self): """Tests the cb_path function""" @@ -125,9 +129,13 @@ class TestFile(object): test_file_shard_0 = '%s.shard0' % path.basename(self.TEST_FILE) test_file_shard_0_abspath = path.join(get_nodedirs(self.config)[0], test_file_shard_0) - + test_file_shard_1 = '%s.shard1' % path.basename(self.TEST_FILE) + test_file_shard_1_abspath = path.join(get_nodedirs(self.config)[1], + test_file_shard_1) assert self.TEST_FILE == cb_path(test_file_shard_0_abspath, self.config) + assert self.TEST_FILE == cb_path(test_file_shard_1_abspath, + self.config) # a directory inside combox dir. foo_dir = path.join(self.config['combox_dir'], 'foo')