summaryrefslogtreecommitdiffstats
path: root/combox
Commit message (Collapse)AuthorAgeFilesLines
...
* fixed combox.file.cb_pathSiddharth Ravikumar2015-03-041-1/+1
| | | | | | instead of using `path.isfile' to check if the path is a shard file or not, it is checked if the path endswidth 'shard.N' where `N' is a number.
* renamed combox.file.rm_dir -> combox.file.rm_pathSiddharth Ravikumar2015-03-041-4/+10
| | | | | | | | rm_path deletes a file or an empty directory. updated the test for it too. modified: tests/file_test.py
* combox.file.mk_nodedir uses mk_dir to create a directory.Siddharth Ravikumar2015-03-041-4/+1
|
* combox.file.rm_nodedir uses the rm_dir function to remove directories.Siddharth Ravikumar2015-03-041-4/+1
|
* new function combox.file.mk_dirSiddharth Ravikumar2015-03-041-0/+8
| | | | | | | wrote test for it too. modified: combox/file.py modified: tests/file_test.py
* new function combox.file.rm_dirSiddharth Ravikumar2015-03-041-0/+8
| | | | | | | also wrote test for it. modified: combox/file.py modified: tests/file_test.py
* combox/events.py: fixed the silo bug.Siddharth Ravikumar2015-03-041-3/+16
| | | | | | | | In both the ComboxDirMonitor and the NodeDirMonitor all the methods -- housekeep, on_created, on_moved, on_deleted, on_modified -- called the silo_update method before doing anything. The silo_update() method re-reads the silo from disk.
* fleshed out the NodeDirMonitor's on_modified method + wrote tests for it.Siddharth Ravikumar2015-02-261-2/+30
| | | | | modified: combox/events.py modified: tests/events_test.py
* modded combox.file.hash_file function -- added new arg `file_content'Siddharth Ravikumar2015-02-261-2/+5
| | | | | | | | | | - `file_content' is set to None by default - If `file_content' is not None, hash of this is returned. Updated the test for hash_file function. modified: combox/file.py modified: tests/file_test.py
* updated combox.silo.ComboxSilo.stale method - added new arg fhashSiddharth Ravikumar2015-02-261-3/+5
| | | | | | | | - 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
* modded combox.crypto.decrypt_and_glue - added new arg called `write'Siddharth Ravikumar2015-02-261-4/+7
| | | | | - 'write' is set to True by set default. - If `write' is set, then the reconstructed file content is written to disk.
* updated combox.events.ComboxDirMonitor.on_create methodSiddharth Ravikumar2015-02-251-3/+6
| | | | | | | | Now the file shards or directory is created in the node directories only if they don't already exist; if they exist that means this file was created from another computer (also running combox). modified: combox/events.py
* new function combox.file.node_path.Siddharth Ravikumar2015-02-251-0/+22
| | | | | | | | | | | | | This function takes the path to the file in the combox and returns the path of its first shard in the node directory. If the the given argument is a directory (inside the combox directory), the function returns the corresponding path of the directory under the first node directory. Test for the function was also written. modified: combox/file.py modified: tests/file_test.py
* New combox.events.NodeDirMonitor class defined.Siddharth Ravikumar2015-02-201-2/+76
| | | | | | | | | | At the moment only the on_created method of this class is kinda fleshed out. The tests for this class is at tests.events_test.TestEvents.test_NDM modified: combox/events.py modified: tests/events_test.py
* Refactored combox.crypto.split_and_encrypt function.Siddharth Ravikumar2015-02-201-5/+12
| | | | Now it accepts an optional third argument `fcontent' (defaults to None) which contains the contents of the file `fpath'.
* Refactored combox.file.cb_path to accept a file or a directory under a node ↵Siddharth Ravikumar2015-02-201-5/+15
| | | | | | | | | | | directory. It returns the path of the respective file or directory in the combox directory. Also updated the test for this function at tests.file_test.TestFile.test_cbpath modified: combox/file.py modified: tests/file_test.py
* combox/crypto.py: corrected typo in docstring of decrypt_and_glue function.Siddharth Ravikumar2015-02-191-1/+1
|
* Defined new function in combox.file.cb_pathSiddharth Ravikumar2015-02-191-0/+10
| | | | | | | | | | This function, given the path of a file shard, returns the corresponding path of the file in the combox directory. The test for this function is at tests.file_test.TestFile.test_cbpath modified: combox/file.py modified: tests/file_test.py
* modded combox.file.relative_path function.Siddharth Ravikumar2015-02-191-4/+13
| | | | | | | | | | Now the function is rigged up to return path relative to both combox directory and node directory. Corresponding test for this function is at tests.file_test module. modified: combox/file.py modified: tests/file_test.py
* combox/config.py: added a new arg `write' (boolean) to cb_config function.Siddharth Ravikumar2015-02-091-5/+8
| | | | | | `write' is set to 'True' by default. If `write' is 'True' the generated config is written to the disk; otherwise it is returned.
* [bugfix]: combox/config.py - when empty string is given for 'silo_dir'; it ↵Siddharth Ravikumar2015-02-081-2/+4
| | | | | | | | | | | | | | | | sets the dir to PWD, this was not intended. This was fixed. When empty string is given for 'silo_dir', the intended default directory was the combox's config directory. The input to 'silo_dir' was directly given to path.abspath() The path.abspath() function, when an empty string is given returns the PWD. That's where the bug was! So, now the 'silo_dir' input is read to a local variable `silo_dir'. If the local variable `silo_dir' is empty, the combox config directory is assigned; else, the given directory is assigned.
* combox/events.py: Under ComboxDIrMonitor, set logging's level to INFO.Siddharth Ravikumar2015-02-051-0/+4
| | | | | | Reason why this was done: Every time a file is renamed/deleted/modified/created in the combox directory, a message about this is puked out to stdout.
* combox/cbox.py: put the code under __main__ into a new function called 'main()'Siddharth Ravikumar2015-02-051-2/+8
| | | | main() is called from __main__ now.
* [bugfix] combox/cbox.py: Forgot to rename ComboxEventHandler -> ↵Siddharth Ravikumar2015-02-051-2/+2
| | | | ComboxDirMonitor. Fixed it now.
* combox/events.py: In ComboxDirMonitor class, housekeep() is called from the ↵Siddharth Ravikumar2015-01-281-0/+2
| | | | __init__ method.
* combox/events.py: ComboxDirMonitor now inherits LoggingEventHandler instead ↵Siddharth Ravikumar2015-01-281-19/+4
| | | | of FileSystemEventHandler.
* combox/events.py - Wrote first version of housingkeep() method for ↵Siddharth Ravikumar2015-01-271-0/+52
| | | | | | | ComboxDirMonitor class. The test for this method at tests/events_test.py only tests a part of it.
* [bug fix] combox/file.py: rm_shards function checks if a shard exists before ↵Siddharth Ravikumar2015-01-271-1/+7
| | | | os.remove()ing it.
* combox/silo.py: new method `keys()' in ComboxSilo class.Siddharth Ravikumar2015-01-271-1/+7
|
* combox/events.py: now when files are -- created, moved, removed, modified -- ↵Siddharth Ravikumar2015-01-211-6/+11
| | | | | | | their info is kept track in simple db file (using PickleDB). also updated tests/events_test.py to test if the newly added code to that updates the db works properly.
* new module: combox/silo.pySiddharth Ravikumar2015-01-211-0/+99
| | | | | | | - Contains the ComboxSilo class which provides an interface to access the db that stores information about files in the combox directory. Tests for this module is at tests/silo_test.py
* combox/file.py: defined hash_file function.Siddharth Ravikumar2015-01-211-0/+13
| | | | | | hash_file function returns the SHA512 hash of the file's content. The test for the hash_file function is at tests/file_test.py
* Renamed ComboxEventHandler (class) -> ComboxDirMonitorSiddharth Ravikumar2015-01-211-5/+5
| | | | | modified: combox/events.py modified: tests/events_test.py
* combox config now contains a `combox_name` field which contains the name of ↵Siddharth Ravikumar2015-01-211-0/+1
| | | | | | | | the combox. modified: combox/config.py modified: tests/config_test.py modified: tests/test-config/config.yaml
* now the config file also makes note of the 'silo' directory.Siddharth Ravikumar2015-01-211-0/+7
| | | | | | | | | silo directory is the location where the silo (silo.db) containing information about files in the combox directory is stored. modified: combox/config.py modified: tests/config_test.py modified: tests/test-config/config.yaml
* fleshed out the on_modified function in the ComboxEventHandler class + wrote ↵Siddharth Ravikumar2015-01-201-0/+8
| | | | | | | | | tests for it. modified: combox/events.py modified: tests/events_test.py new file: tests/files/ipsum.txt new file: tests/files/lorem.txt
* updated copright year.Siddharth Ravikumar2015-01-205-5/+5
| | | | | | | | | | | | modified: combox/cbox.py modified: combox/config.py modified: combox/crypto.py modified: combox/events.py modified: combox/file.py modified: tests/config_test.py modified: tests/crypto_test.py modified: tests/events_test.py modified: tests/file_test.py
* added combox/cbox.py: pretty rough.Siddharth Ravikumar2015-01-161-0/+82
| | | | contains function that runs combox.
* [bug fix] combox/file.py: fixed bug in move_shards functionSiddharth Ravikumar2015-01-161-0/+5
| | | | | the fix: the shards don't have to be renamed when the directory under which they're located is renamed/moved.
* combox/events.py: fleshed out on_moved, on_deleted functions.Siddharth Ravikumar2015-01-151-2/+24
| | | | The functions are not yet fully complete (See TODO in each function).
* combox/file.py: wrote new utility functions.Siddharth Ravikumar2015-01-151-0/+99
| | | | | | | - rm_nodedir - move_nodedir - rm_shards - move_shards
* combox/config.py: node directories are created if they're not already created.Siddharth Ravikumar2015-01-151-0/+4
|
* combox/events.py: contains the ComboxEventHandler which monitors and does ↵Siddharth Ravikumar2015-01-141-0/+78
| | | | the combox thing.
* combox/crypto.py: relative_path function is used to get the file/directory's ↵Siddharth Ravikumar2015-01-141-4/+9
| | | | basename.
* combox/file.py: new functions defined.Siddharth Ravikumar2015-01-141-6/+53
| | | | | | relative_path: returns relative path of directory or file w. r. t combox directory. mk_nodedir: creates a directory inside all node directories purge_dir: (1) purges a file or (2) purges everything inside a directory (except itself).
* combox/config.py: all directories that are written to YAML now have absolute ↵Siddharth Ravikumar2015-01-141-5/+5
| | | | path.
* combox/crypto.py: removed a `.' that somehow crept into the file at the ↵Siddharth Ravikumar2015-01-131-1/+0
| | | | bottom :<
* combox/file.py: added mk_nodedir function.Siddharth Ravikumar2015-01-131-0/+13
|
* combox/crypto.py: wrote split_and_encrypt & decrypt_and_glue functionsSiddharth Ravikumar2015-01-131-0/+61
|
* combox/config.py: added get_nodedirs function.Siddharth Ravikumar2015-01-131-0/+16
|