Commit Graph

295 Commits

Author SHA1 Message Date
Matthias Beyer 171d970a3c Merge branch 'fileid-from-string' 2015-12-02 22:37:32 +01:00
Matthias Beyer dbf9ada732 Implement: FileID::from(&String), FileID::from(String) 2015-12-02 22:36:27 +01:00
Matthias Beyer 2c3dd521b8 Add test: file_id_from_string() 2015-12-02 22:35:41 +01:00
Matthias Beyer 9d0e4cfcb5 Add llvmPackages.lldb as debugger in default.nix 2015-12-02 17:08:41 +01:00
Matthias Beyer 37bf18df7f Merge branch 'abstract-fileid' 2015-12-02 13:43:29 +01:00
Matthias Beyer bcc9771f28 module/bm/commands: Use FileID::into() 2015-12-02 13:43:09 +01:00
Matthias Beyer 557187fbd7 storage/file: Call FileID::new() to build FileID object 2015-12-02 13:43:09 +01:00
Matthias Beyer 8ddfb090b4 ui/file: use FileID::into() 2015-12-02 13:43:09 +01:00
Matthias Beyer 292e29a5f1 Backend: Use FileID::from() 2015-12-02 13:43:09 +01:00
Matthias Beyer d3bdb39468 Reimplement FileID as abstract type, use Into, From traits for conversion 2015-12-02 13:43:09 +01:00
Matthias Beyer 3664c59a5e Merge branch 'path-to-id' 2015-12-02 13:06:29 +01:00
Matthias Beyer e93aa4ceae Refactor uses of file-id-parsing functions to ensure we honnor the Result type 2015-12-02 13:06:08 +01:00
Matthias Beyer 3e94e1612f Add FileIDResult<FileID, FileIDError> 2015-12-02 13:05:48 +01:00
Matthias Beyer 80643c0c89 Merge branch 'bm' into master 2015-12-02 12:29:31 +01:00
Matthias Beyer 05a9803c05 Fixup: Member name 2015-12-02 12:29:04 +01:00
Matthias Beyer 9231049e30 Remove StorageBackend::build() 2015-12-02 12:28:41 +01:00
Matthias Beyer 731d13e0ba Create store path on storage backend creation 2015-12-02 12:24:05 +01:00
Matthias Beyer abee4d4904 Implement StorageBackend::remove_file() 2015-12-02 12:24:05 +01:00
Matthias Beyer 4675f79aae remove_command(): Be able to run in "checked" mode 2015-12-02 12:24:05 +01:00
Matthias Beyer c81d0bf0a8 Implement remove_command() 2015-12-02 12:24:05 +01:00
Matthias Beyer 484b1fb865 Outsource file retrieving from list_command() into helper function 2015-12-02 12:24:05 +01:00
Matthias Beyer e6e56b9a92 Add flag --check / -c
We have to ensure that there are no references to this bookmark entry
from other modules.
2015-12-02 12:24:05 +01:00
Matthias Beyer 6fcccc8297 Implement list_command 2015-12-02 12:24:05 +01:00
Matthias Beyer 42181afde5 Add tags_of_file() to extract tags from a File 2015-12-02 12:24:05 +01:00
Matthias Beyer a6ed8e1080 Pass id as &FileID in StorageBackend::get_file_by_id() 2015-12-02 12:24:05 +01:00
Matthias Beyer 103cba0c27 Add File::matches_with(&Regex) 2015-12-02 12:24:05 +01:00
Matthias Beyer e598a475e5 Use prettytable to implement TablePrinter 2015-12-02 12:24:05 +01:00
Matthias Beyer 965779fcaf Impl Debug for BMModule 2015-12-02 12:24:05 +01:00
Matthias Beyer e515a70ec2 Rewrite Debug for Module 2015-12-02 12:24:05 +01:00
Matthias Beyer 043e607765 Implement StorageBackendError::cause() 2015-12-02 12:24:05 +01:00
Matthias Beyer f060c89751 Add helper for building file prefix
This helper builds the file prefix for the files of a module.
2015-12-02 12:24:05 +01:00
Matthias Beyer 144398a2ad Remove explanation member of StorageBackendError to reduce complexibility 2015-12-02 12:24:05 +01:00
Matthias Beyer 83aa5afcbe Build ModuleError out of StorageBackendError if any 2015-12-02 12:24:05 +01:00
Matthias Beyer c3019528cf ModuleError needs a cause as well 2015-12-02 12:24:05 +01:00
Matthias Beyer 4a6d1a74c0 Retry fixing the StorageBackend::cause() 2015-12-02 12:24:05 +01:00
Matthias Beyer 366121b6ed Reimplement StorageBackend::update_file() 2015-12-02 12:24:05 +01:00
Matthias Beyer eabf726846 Outsource file to string parsing 2015-12-02 12:24:05 +01:00
Matthias Beyer e0fefc3da4 Reimplement StorageBackend::put_file() 2015-12-02 12:24:05 +01:00
Matthias Beyer 21d889e1e2 Add caused_by field in StorageBackend 2015-12-02 12:24:05 +01:00
Matthias Beyer 455d6e88ed Use real array instead of text array to save tags 2015-12-02 12:24:05 +01:00
Matthias Beyer cf1687e8ba Convention: module names are lowercase 2015-12-02 12:24:05 +01:00
Matthias Beyer 1038880de9 Save storepath in extra variable 2015-12-02 12:24:05 +01:00
Matthias Beyer 8a2c41ea22 Fix: Build StorageBackend with runtime 2015-12-02 12:24:05 +01:00
Matthias Beyer e78bde72c1 Implement add_command() with backend 2015-12-02 12:24:05 +01:00
Matthias Beyer c9ebe3b7a1 Pass owner to file path builder helper function 2015-12-02 12:24:05 +01:00
Matthias Beyer 98ec735ea3 Add File::owner() - a getter for the owner of a file 2015-12-02 12:24:05 +01:00
Matthias Beyer 593e98ac5d A File is bound to a Module
A File object must be bound to a Module, as one Module owns the File.

This way we can use the Module internally to build the file path later.
2015-12-02 12:24:05 +01:00
Matthias Beyer 0d751f9ffd Add some debug output in StorageBackend::build_filepath_with_id() 2015-12-02 12:24:05 +01:00
Matthias Beyer 7531b5a6d7 Pass module to subcommand.
We need the module in the subcommand for building file paths and so on.

To be able to pass it, we must remove the ::new() function from the
trait, so we can make the parameter a trait object.

This is no object, as the module gets build non-generically from the
main(), so everything is fine with this.
2015-12-02 12:24:05 +01:00
Matthias Beyer ff873c8fe3 Transfer old code to new structure 2015-12-02 12:24:05 +01:00