Commit graph

4894 commits

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