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
c8231e5c31
Fix: variable does not need to be mutable
2015-11-27 16:49:25 +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
e1faad7a28
Add runtime rtp getter (and in cli and configuration types)
2015-11-23 19:48:37 +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
7e86394b3c
add dep: glob
2015-11-20 15:33:40 +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
99a2670803
Add module/command trait
2015-11-10 20:43:53 +01:00
ba91e7ee26
The module itself has to be populate the Command instance
...
This will be done by the module returning a lambda to build the
command instance.
2015-11-10 20:43:35 +01:00
f4dbec72ee
Add storage/backend setup
2015-11-10 20:43:30 +01:00
e73701ace4
Remove old todo module code
2015-11-10 20:33:47 +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
9167fde4fb
Add dependency: serde
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
111a990b99
Add debugging output in main.rs
2015-11-07 23:38:49 +01:00
1ecb13a8fe
Remove early logging, doesnt work
2015-11-07 23:38:40 +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
50f140edef
Implement Parser.write()
2015-10-30 01:05:44 +01:00
11c2fe1260
Implement Abstract Parser which uses Header- and Data-Parser internally
2015-10-30 00:50:35 +01:00
1a4b3f9747
FileDataParser::read() should return Result<>
2015-10-28 21:28:43 +01:00
bbefacd0a2
FileHeaderParser::read() should get the string, not a ref to it
2015-10-28 21:28:43 +01:00
380d58a3c0
Move header types/traits outside own module
2015-10-28 21:28:43 +01:00
647d5611c7
Out Traits here must implement the Sized trait
2015-10-28 21:28:43 +01:00
6fa42204cb
FileParser -> FileDataParser
...
Let the FileParser be a FileDataParser, so we have uncoupled the header
parsers from the data parsers.
This way we can make the parsing process multithreaded.
2015-10-28 21:28:43 +01:00
1166f313a3
Add divide_text() function
2015-10-28 17:43:19 +01:00
bdb0792040
Add extern crate regex
2015-10-28 17:39:53 +01:00
6ec4a701d3
Implement ParserError
2015-10-28 17:39:51 +01:00
ec1df06b24
Add file header types
...
for specifying header structure and parsing it from "raw" text.
2015-10-28 17:03:52 +01:00
b98dea3946
Rename "Config" to "CliConfig"
2015-10-27 00:02:42 +01:00
904d3fa8c0
Pass configuration from cfg file to Runtime as well
2015-10-27 00:01:11 +01:00
497cdde581
Logger should respect configuration
2015-10-26 23:59:24 +01:00
754ad0c6cb
Add store path configuration
2015-10-26 23:56:54 +01:00
099d63f13a
Implement simple configuration module
2015-10-26 23:52:01 +01:00
32e585e7eb
Add configuration module
2015-10-26 22:30:15 +01:00
04567f594d
Fix: Runtime.is_{verbose,debugging}
2015-10-26 21:27:04 +01:00
7f224e8f58
Replace all output with macros from logging library
2015-10-26 20:58:52 +01:00
127c99f16f
Remove old logging functions
2015-10-26 20:53:49 +01:00
c41ec1d85c
Add logger with logging library
2015-10-26 20:53:12 +01:00
f7421cf252
Runtime print helpers should get a &'static str
2015-10-25 20:10:49 +01:00
c39d43fbd3
Runtime publishes config
2015-10-25 20:10:49 +01:00
9fb50dac68
Fix type for ModuleError::mk()
2015-10-25 19:54:54 +01:00
3556e5adc6
Refactor complete CLI code
2015-10-25 19:52:31 +01:00
e19f7117e6
Add ApplicationError type
2015-10-25 18:43:47 +01:00
4d83b7c63f
Implement Module for TodoModule
2015-10-25 18:43:47 +01:00
911384331b
Add ModuleError
2015-10-25 18:43:47 +01:00
7036f93936
Fixup TodoModule::new()
2015-10-25 18:43:47 +01:00
c50d097831
Cleanup module confusion
2015-10-25 18:43:47 +01:00
63daf452dc
Add todo module
2015-10-25 18:43:47 +01:00
02029b9b26
Export cli::Config here
2015-10-25 18:43:47 +01:00
034d71b21d
Rewrite
2015-10-25 18:43:46 +01:00
1cea0e48e0
cleanup
2015-10-25 18:43:46 +01:00
bff720018c
Module trait cleanups
2015-10-25 18:43:46 +01:00
1d98cf7634
Fix: Module functions should get &self, not self
2015-10-19 17:38:39 +02:00
170d57cbdf
Add Module::shutdown() in trait
2015-10-19 17:36:24 +02:00
19ab3d425f
Remove error foo from module
2015-10-19 17:36:24 +02:00
18ebf8ad83
Remove error foo from storage
2015-10-19 17:36:24 +02:00
3df9343412
Revert "Add error module for error handling"
...
This reverts commit e9b122f612
.
2015-10-19 17:31:13 +02:00
f1a67dba10
Revert "Add: impl ImagError for ModuleError"
...
This reverts commit 7b1f9cfbac
.
2015-10-19 17:31:07 +02:00
b3508f5dc3
Add trait Storage
2015-10-18 21:59:23 +02:00
7b1f9cfbac
Add: impl ImagError for ModuleError
2015-10-18 21:49:31 +02:00
e9b122f612
Add error module for error handling
2015-10-18 21:42:44 +02:00
e3ca30d4b1
Add module trait
2015-10-18 21:15:17 +02:00
98c782212c
We should use references here
2015-10-18 21:15:05 +02:00
bd6df27aec
Add runtime module
2015-10-18 20:52:52 +02:00
8d4a1fa45e
cli: export data and add helper functions for accessing data
2015-10-18 20:52:35 +02:00
8fc4a4653b
Minify function
2015-10-18 20:36:58 +02:00
186a4e8b73
Initial import
2015-10-18 20:22:23 +02:00