6676611f4b
Derive Hash for FileIDType
2015-12-27 23:02:34 +01:00
f60c540ee5
Derive: Hash for FileID
2015-12-27 23:02:20 +01:00
4c252577f2
Derive: Hash for FileHash
2015-12-27 23:02:06 +01:00
Marcel Müller
22b57d5ad9
Implement FromStr for FileIDType
2015-12-27 18:55:27 +01:00
65aa98607e
Add File::persist()
2015-12-27 18:52:25 +01:00
8029057b22
Add File::edit_contents()
2015-12-27 18:52:19 +01:00
961fb27f99
Add File::edit()
2015-12-27 18:52:02 +01:00
4cac382412
Fixup Into<str> for Path -> Impl as Into<String> for Path
2015-12-27 18:00:56 +01:00
3273e77d24
Fixup Into<str> for Path
2015-12-27 18:00:56 +01:00
312bcf9703
Fixup File::get_new_file_id()
2015-12-27 18:00:56 +01:00
003efb6296
Fixup Into<str> for Path
2015-12-27 18:00:56 +01:00
71bf650653
Fixup FileIDType::parse
2015-12-27 18:00:56 +01:00
2585472349
impl Into<String> for FileID
2015-12-27 18:00:56 +01:00
1fc1c73b4a
impl Into<String> for FileIDType
2015-12-27 18:00:56 +01:00
fab2dece59
When generating a new FileID, use the FileHash type
2015-12-27 18:00:31 +01:00
62150c5a61
Add missing lifetimes
2015-12-27 18:00:31 +01:00
63bbede00f
Add missing 'use ...'
2015-12-27 18:00:31 +01:00
8c2af3e931
Add Path type
2015-12-27 18:00:31 +01:00
85a199ffc8
Add module file for storage
2015-12-27 18:00:31 +01:00
7e77d786bb
Remove old code, FileIDType::NONE does not exist, we use Option<>
2015-12-21 19:28:15 +01:00
dcec155505
Move FileIDType to new module, export publicly
2015-12-21 19:20:09 +01:00
8a7d4b8aaf
Add FileHash type, custom type for an ID
2015-12-21 19:20:09 +01:00
dd7b412976
Remove code
2015-12-21 19:20:09 +01:00
3212429c9e
Impl Debug for Parser
2015-12-19 11:47:24 +01:00
d5af28d98d
Impl {Display,Debug} for JsonHeaderParser
2015-12-19 11:47:24 +01:00
ee78c249f0
Remove leftover file from storage backend moving
2015-12-06 13:15:07 +01:00
188aacad75
Move FileHeader{Spec,Data} to own submodules
2015-12-06 13:09:51 +01:00
3b89148cd0
Move storage/file_id.rs -> storage/file/id.rs
2015-12-06 13:02:21 +01:00
95f6f2e97e
Move file.rs to subdirectory
2015-12-06 13:01:02 +01:00
7d40b68407
Rename: StorageBackend -> Storage
2015-12-06 12:49:02 +01:00
da2b482bda
Move Storage Backend code imag::storage::backend -> imag::storage
2015-12-06 12:47:08 +01:00
3a8f2b5493
Refactor: dont use helper but StorageBackendError::new() directly
2015-12-05 15:01:46 +01:00
e6a32eafc0
Outsource StorageBackendError building into helper function
2015-12-05 14:24:58 +01:00
230d00f35a
Remove unused imports
2015-12-05 01:23:06 +01:00
f7a92b6e79
Resort "use"
...
First comes std stuff
Second is external crates
Then we have own modules
All in alphabetical order and as few lines as possible if readability is
preserved.
2015-12-05 01:14:13 +01:00
5953563671
Refactor for readability
2015-12-04 23:39:30 +01:00
f8e870312e
Outsource: ids iterator to files vector
2015-12-04 23:35:48 +01:00
848fb0b4b4
Ensure we build the globstring _with_ the ID in it
2015-12-04 23:11:59 +01:00
261fbdd038
Add id getter for FileID
2015-12-04 23:11:46 +01:00
fd3d2ec8dc
Fixup get_file_by_id()
2015-12-04 22:57:28 +01:00
6473b743a3
Outsource globlist -> Vec<FileID> transformation code snippet
2015-12-04 22:53:31 +01:00
dac4911ea2
(partly) Rewrite StorageBackend::get_file_by_id(), so we can get a file with a partially available ID
2015-12-04 22:49:00 +01:00
253658ece5
Fix: FileID::from() should also succeed if we pass a ID as string
2015-12-04 22:31:09 +01:00
2dfb76bd0d
Reimplement: Parser::divide_text()
2015-12-04 21:56:48 +01:00
5c38e6752b
Fixup glob string generating
2015-12-04 21:56:48 +01:00
08fa8f8655
Add debugging output
2015-12-04 21:56:48 +01:00
2b21d1cb47
StorageBackend::iter_files(): Add caused_by use
2015-12-04 21:56:48 +01:00
90e3f44005
StorageBackend::iter_ids(): Add caused_by() usage
...
Actually not, as there is no Error implementation for the error we get
to handle here.
2015-12-04 21:56:48 +01:00
b6c1a6301f
Use ParserError::with_cause() and build new ParserError object
2015-12-04 21:56:48 +01:00
3a76c05317
ParserError: Add cause
2015-12-04 21:56:47 +01:00
1aaea39b3d
storage/parser::divide_text(): Add debug output
2015-12-04 21:56:33 +01:00
e72c1c68b9
Fix: Output formatting
...
The header-content separator dashes were completely missing. Shame on
me.
2015-12-04 21:56:33 +01:00
e31239b02b
Fix wording in debug message
2015-12-04 21:56:33 +01:00
915cbd24ef
Impl From<PathBuf> for FileID, using From<String> for FileID
2015-12-04 21:56:33 +01:00
3484858c3d
Remove unused code
2015-12-04 21:56:33 +01:00
2ab025a4eb
Add test: match_header_spec() testing
2015-12-04 17:52:30 +01:00
e025cf8835
Add missing Clone for FileHeaderSpec
2015-12-04 17:52:30 +01:00
04443b34bf
Add test: serialize-deserialize-compare
2015-12-04 17:52:30 +01:00
3e75117d69
Add test: Deserialization without Specification should match as well
2015-12-04 17:52:30 +01:00
2dce3151bd
Remove default impl for Error for ParserError
2015-12-04 17:52:30 +01:00
84e7100229
Add test for deserialization
2015-12-04 17:52:30 +01:00
d9019e408e
Remove static livetime in ParserError::short()
2015-12-04 17:51:22 +01:00
03856cd3a1
Reimplement StorageBackendError::{new,build} with Into<String>
2015-12-04 15:18:52 +01:00
be094dcfae
StorageBackend::iter_files() return Result<> with StorageBackendError on error
2015-12-04 14:04:20 +01:00
3df106ce8b
StorageBackend::iter_ids() return Result<> with StorageBackendError on error
2015-12-04 14:02:30 +01:00
1b0f4894ac
Use FileIDType::from() and remove select_id_type_from_str()
2015-12-03 17:37:13 +01:00
ce4d99384b
Impl From<&str> for FileIDType, use implementation in From<String> for FileIDType
2015-12-03 17:36:52 +01:00
f25e3683a1
Add hash type to filepath
2015-12-03 17:33:48 +01:00
5c3d0ecce7
Impl Into<FileIDType> for FileID
2015-12-03 17:33:29 +01:00
445f543159
Impl From<String> for FileIDType
2015-12-03 17:33:16 +01:00
02da675b3f
Impl Into<String> for FileIDType
2015-12-03 17:33:03 +01:00
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
557187fbd7
storage/file: Call FileID::new() to build FileID object
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
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
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
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
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
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
1038880de9
Save storepath in extra variable
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
86286cce1b
Remove livetimes
2015-12-02 12:24:05 +01:00
51f6af6346
We should really use String here
2015-12-02 12:24:05 +01:00
2bab3d48e6
Fix JsonHeaderParser::serialize()
2015-12-02 12:00:20 +01:00
7549db4ffc
Fix JsonHeaderParser::visit_json()
2015-12-02 12:00:20 +01:00