|
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 |
|
|
500fb281a0
|
JsonHeaderParser: Make spec optional
|
2015-12-02 12:00:20 +01:00 |
|
|
34cf5076f9
|
Reimplement JsonHeaderParser::write()
|
2015-12-02 12:00:19 +01:00 |
|
|
df18071d9a
|
Move JsonHeaderParser::new() out of trait implementation
|
2015-12-02 12:00:19 +01:00 |
|
|
cf196b2492
|
Fixup: get_file_ids() - use prefix_of_files_for_module()
|
2015-12-02 12:00:19 +01:00 |
|
|
0e4a56fe68
|
Reimplement StorageBackend::new(), create directory if not existing, store storepath in extra variable
|
2015-12-02 12:00:19 +01:00 |
|
|
1e5c50bc0b
|
Fixup: Import remove_file()
|
2015-12-02 12:00:19 +01:00 |
|
|
0796d0ab36
|
Fixup: File::from_parser_result() gets module now as well
|
2015-12-02 12:00:19 +01:00 |
|
|
9a0cc75c6f
|
BackendOperationResult: Add optional type parameter
|
2015-12-02 12:00:19 +01:00 |
|
|
d35e89f27c
|
Fixup: get_file_by_id() gets &Module as well, so it can use build_filepath_with_id()
|
2015-12-02 12:00:19 +01:00 |
|
|
c81800d985
|
Implement helpers: build_filepath_with_id(), prefix_of_files_for_module()
|
2015-12-02 12:00:19 +01:00 |
|
|
0363075f9c
|
Implement StorageBackend::remove_file()
|
2015-12-02 12:00:19 +01:00 |
|
|
c23a1e22ab
|
Implement helper write_with_parser()
|
2015-12-02 12:00:19 +01:00 |
|
|
25b26b03a6
|
Reimplement StorageBackend::update_file()
|
2015-12-02 12:00:19 +01:00 |
|
|
8bd782c1a7
|
Reimplement StorageBackend::put_file()
|
2015-12-02 12:00:19 +01:00 |
|
|
d141a3670f
|
Add StorageBackend::iter_files()
|
2015-12-02 12:00:19 +01:00 |
|
|
1b6711fe10
|
Add StorageBackend::iter_ids()
|
2015-12-02 12:00:19 +01:00 |
|
|
d22b991da0
|
Implement StorageBackendError::build() helper
|
2015-12-02 12:00:19 +01:00 |
|
|
8ff5dcc9e8
|
Add StorageBackendError::caused_by member
|
2015-12-02 12:00:19 +01:00 |
|
|
c73cb88df4
|
Remove StorageBackendError::explanation member
|
2015-12-02 12:00:19 +01:00 |
|
|
9493c79104
|
Reimplement Debug for File
|
2015-12-02 12:00:12 +01:00 |
|
|
535952c2a5
|
Implement Display for File
|
2015-12-02 11:58:07 +01:00 |
|
|
6eb7bee355
|
Reimplement File::contents() with File::{header(),data()}
|
2015-12-02 11:58:07 +01:00 |
|
|
09940f3228
|
Each file must have an owning module
|
2015-12-02 11:58:07 +01:00 |
|
|
90f08cc1f2
|
Implement File::{header(),data()} as header/data getters
|
2015-12-02 11:32:59 +01:00 |
|
|
d89977a09e
|
Implement File::matches_with(&Regex)
|
2015-12-02 11:32:14 +01:00 |
|
|
58bd36599f
|
Implement FileHeaderData::matches_with(&Regex)
|
2015-12-02 11:30:50 +01:00 |
|
|
8f8badebb3
|
Fix: FileHeaderData::Key::name must be a &'static str
|
2015-12-02 11:30:14 +01:00 |
|
|
2a468059aa
|
parser: Remove livetimes
|
2015-12-02 11:28:21 +01:00 |
|
|
9edad2800f
|
Add debugging output in storage parser code
|
2015-11-27 22:18:26 +01:00 |
|
|
53a14ea1dc
|
Add debug output in storage backend code
|
2015-11-27 22:14:02 +01:00 |
|
|
20dc562dee
|
Do debug output when creating a file object
|
2015-11-27 19:37:20 +01:00 |
|
|
c82f9ea6ae
|
Implement Debug for File
|
2015-11-27 19:37:08 +01:00 |
|
|
55d6de627a
|
Add debug output in match_header_spec()
|
2015-11-27 19:31:46 +01:00 |
|
|
469ff607eb
|
Fix: unused import
|
2015-11-27 17:00:45 +01:00 |
|
|
06ea949e65
|
Fix: unused import
|
2015-11-27 17:00:34 +01:00 |
|
|
6926363f70
|
Fix: use unimplemented instead of false implementation
|
2015-11-27 16:55:18 +01:00 |
|
|
8a546dfb26
|
Fix Bug: Pass iterator value, not currently parsed value
|
2015-11-27 16:52:09 +01:00 |
|
|
3ed431ad5f
|
Fix: unnecessary parentheses around if condition
|
2015-11-27 16:50:54 +01:00 |
|
|
930a7ecc3f
|
Fix: structure field dataDump should have a snake case name such as data_dump
|
2015-11-27 16:50:12 +01:00 |
|
|
c597f6d1f0
|
Fix compiletime errors
|
2015-11-24 19:37:22 +01:00 |
|
|
a6054d2223
|
StorageBackendError: Use String instead of str in params
|
2015-11-24 19:31:22 +01:00 |
|
|
f694feacf9
|
Clone these values when returning them
|
2015-11-24 19:28:26 +01:00 |
|
|
a8bc7ecc47
|
Make FileHeaderData cloneable
|
2015-11-24 19:27:57 +01:00 |
|
|
2ed2b17b85
|
Refactor get_file_by_id() into smaller functions
|
2015-11-24 16:47:01 +01:00 |
|
|
1b1f0678cb
|
Refactor: File::from_parser_result() shouldnt do error handling, do this in calling code
|
2015-11-24 16:34:03 +01:00 |
|
|
b6af948c0e
|
Implement Storage::get_file_by_id()
|
2015-11-24 10:59:30 +01:00 |
|
|
176183e718
|
Refactor helpers for more fine-grained possibilities
|
2015-11-24 10:59:16 +01:00 |
|
|
4464c32b98
|
Add helper to build file from Parser return value
|
2015-11-24 10:58:54 +01:00 |
|
|
8808e911c8
|
Implement Storage::update_file()
|
2015-11-24 10:48:30 +01:00 |
|
|
14ae6d623b
|
Refactor: Outsource filepath building
|
2015-11-24 10:30:52 +01:00 |
|
|
f498ffa54c
|
Implement Storage::put_file()
|
2015-11-24 10:27:42 +01:00 |
|
|
616e0b789b
|
Make Parser::write() public
|
2015-11-24 10:27:34 +01:00 |
|
|
c2135b5c6c
|
Add getter methods for File object contents
|
2015-11-24 10:27:20 +01:00 |
|
|
da792694c5
|
Add StorageBackend builder
|
2015-11-23 19:54:08 +01:00 |
|
|
14d92d8b2f
|
Add some functions to File, so we can generate file instances with content
|
2015-11-23 19:27:54 +01:00 |
|
|
91de245836
|
Rename function to match naming scheme
|
2015-11-23 19:26:02 +01:00 |
|
|
b8fa7c5696
|
Reset and restart implementation
|
2015-11-23 19:25:27 +01:00 |
|
|
e623b74139
|
Implement: Storage::createFile()
|
2015-11-23 19:17:46 +01:00 |
|
|
263a3b7780
|
Store the file handle in our internal File type
|
2015-11-23 19:17:46 +01:00 |
|
|
7faa693d5c
|
Move implementation to get a new file on the FS
Now we have a function which creates a new file on the FS and returns
the handle and the FileID object.
|
2015-11-23 19:17:46 +01:00 |
|
|
48fd3e66f5
|
Add implementation for Storage::createEmpty()
|
2015-11-23 19:17:46 +01:00 |
|
|
25de1c6c2a
|
We should use the FileID type in the File
|
2015-11-23 18:46:09 +01:00 |
|
|
bff2bf68c6
|
We dont need to pass the module here
|
2015-11-23 18:45:31 +01:00 |
|
|
9aced858ac
|
Outsource file id parsing
|
2015-11-23 18:42:55 +01:00 |
|
|
b0e5f28528
|
Implement getFileList()
|
2015-11-23 18:28:24 +01:00 |
|
|
68c6c35f54
|
Add getFileList(self) to list files from basepath
|
2015-11-20 15:34:40 +01:00 |
|
|
2af5f404f4
|
Fix typo in StorageBackend::new()
|
2015-11-20 15:34:06 +01:00 |
|
|
e59fbd52c3
|
Add fn to extract id from path string
|
2015-11-20 15:33:24 +01:00 |
|
|
42ac04c1a8
|
Implement StorageBackend::new()
|
2015-11-10 20:53:35 +01:00 |
|
|
9cff6772c8
|
Implement StorageBackendError
|
2015-11-10 20:43:55 +01:00 |
|
|
f4dbec72ee
|
Add storage/backend setup
|
2015-11-10 20:43:30 +01:00 |
|
|
159b363d58
|
Remove the concept of DataParser and Abstract Data types
We use String as type for Data, so we don't have problems with parsing
things and the whole templating foo in the parser gets a lot simpler.
|
2015-11-10 20:31:05 +01:00 |
|
|
e3afb3c0f3
|
Implement Serialization for FileHeaderData
|
2015-11-09 18:35:07 +01:00 |
|
|
e8e82f6844
|
Make functions public
|
2015-11-09 18:35:07 +01:00 |
|
|
fd35a00381
|
Implement JSON to FileHeaderData parser
|
2015-11-09 18:35:07 +01:00 |
|
|
b211862602
|
Add json deserializer
|
2015-11-09 18:35:02 +01:00 |
|
|
aa94852e84
|
Add unimplemented macro in match_header_spec()
|
2015-11-07 23:40:03 +01:00 |
|
|
d260ef20e3
|
Minify Parser.write()
|
2015-11-07 23:39:53 +01:00 |
|
|
44994487c6
|
Minify Parser.read()
|
2015-11-07 23:39:47 +01:00 |
|
|
2c940d0ca8
|
Add missing "pub"
|
2015-11-07 23:39:39 +01:00 |
|
|
850b4579a8
|
Add type "File" to load a file from disk
|
2015-11-07 23:39:30 +01:00 |
|
|
b123144202
|
Fix types
* We can use a str for the key name
* We don't need a box if we have a vec
|
2015-10-30 18:26:42 +01:00 |
|
|
d0af1a493b
|
Make storage modules public
|
2015-10-30 18:26:42 +01:00 |
|
|
1c2c52fa37
|
Add "Map" type to FileHeaderSpec and FileHeaderData
|
2015-10-30 18:09:01 +01:00 |
|
|
9dde3e4f72
|
Remove path member from MatchError
At this point, this is too complicated to implement for me.
|
2015-10-30 17:46:25 +01:00 |
|
|
10697feb8a
|
Add error generating
Which required adding of lifetimes
|
2015-10-30 17:35:21 +01:00 |
|
|
caee02c333
|
Add algorithm to match spec on data
|
2015-10-30 16:52:02 +01:00 |
|
|
f9cc0e41ce
|
Implement Display for FileHeaderSpec
|
2015-10-30 16:50:02 +01:00 |
|
|
96ca9637d1
|
Add type MatchError
|
2015-10-30 16:48:48 +01:00 |
|
|
e6fb2f232d
|
FileHeaderSpec, FileHeaderData can derive Debug
|
2015-10-30 16:47:04 +01:00 |
|
|
d54825de6b
|
Move divide_text() into scope of impl Parser
|
2015-10-30 15:23:29 +01:00 |
|
|
b6d52b2616
|
Implement: Error, Debug, Display for ParserError
|
2015-10-30 15:22:11 +01:00 |
|
|
e426f384f4
|
Remove old code
|
2015-10-30 14:48:45 +01:00 |
|
|
589844102d
|
Move parser code out of file.rs
|
2015-10-30 14:48:45 +01:00 |
|
|
4b8d7b0c4f
|
Add module file
|
2015-10-30 14:32:22 +01:00 |
|
|
2989cb803d
|
Move module/file to storage/file
|
2015-10-30 14:31:45 +01:00 |
|
|
52579a3e7c
|
Move: src/storage.rs -> src/storage/mod.rs
|
2015-10-30 14:31:26 +01:00 |
|