Commit graph

201 commits

Author SHA1 Message Date
8a9b2e9a8f Fix: use Path::file_stem() instead of Path::file_name()
Because we don't want to know the extension of the filename here.
2018-03-12 13:30:31 +01:00
3bf1b6ccec Implement ContactStore::all_contacts() 2018-03-12 12:52:24 +01:00
8c37fb865a Rebuild DiaryEntryIterator to be based on StoreIdIterator
This patch rebuilds DiaryEntryIterator to be a wrapper around
StoreIdIterator and thus `Diary::entries()` to use `Store::entries` and
not `Store::retrieve_for_module()`.

The `Store::retrieve_for_module()` function is somehow buggy and loads
contents of the files into memory and _somehow_ causes the entries to be
rewritten without newlines.

This bug is fixed by moving away from `Store::retrieve_for_module()`.
2018-03-02 21:25:48 +01:00
Dylan DPC
e7a5e73d25 Update Cargo.toml 2018-02-26 17:04:53 +05:30
b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
Minor patches
2018-02-20 20:23:41 +01:00
404e9deed2 Add some debug output 2018-02-20 17:29:03 +01:00
585261d468 Add "isflag" support 2018-02-20 17:18:46 +01:00
b9b15957fc Merge branch 'libimagmail/rewrite-libimagref-api-usage' into libimagentryref/refactor 2018-02-19 12:17:48 +01:00
672873c2f1 Make UniqueContactPathGenerator pub 2018-02-19 12:15:39 +01:00
719daf952b Refactor libimagcontact for new libimagentryref API 2018-02-19 12:15:39 +01:00
30ad7d89b1 Reimplement libimagmail for new libimagentryref interface 2018-02-19 12:15:22 +01:00
2b26db70ed Make HabitBuilder derive Debug 2018-02-18 20:03:50 +01:00
50b0ffa6ae Remove calls to trace_error_exit() 2018-02-12 21:19:48 +01:00
4a4e528aed Refactor error handling
Refactor error handling so we do chain the error with the `?`
operator rather than wrapping it with own types.

Links to other error chains are created with error chain. All unneeded
error kinds were removed.

No API changes.
2018-02-11 23:44:27 +01:00
77be32d80f Remove "get" iterator, store provides this now 2018-02-11 23:44:27 +01:00
30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
3b710e082d Add missing Cargo.toml metadata 2018-02-10 14:11:46 +01:00
d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
29e88c5de0 Fix: Header entry setting
The header was not set properly. This fixes this bug.
2018-02-06 20:42:43 +01:00
346e5a9444 Add link to toml_query error types 2018-02-06 20:42:43 +01:00
e2e3b4f6e2 Update kairos dependency: 0.1.0-beta-2 -> 0.1.0 2018-02-05 16:20:05 +01:00
da0c1fa594 Rewrite From<> implementations for habit iterators
to be generic over all iterators over StoreIds, so they can be build
directly from them.
2018-02-01 16:46:38 +01:00
4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
13ff09d8c6 libimagtodo: Replace read with typed read 2018-01-13 01:14:03 +01:00
397f79b238 libimagtimetrack: Replace read with typed read 2018-01-13 01:14:03 +01:00
cb0cb21220 libimagnotes: Replace read with typed read 2018-01-13 01:14:03 +01:00
014b54ad4e libimaglog: Replace read with typed read 2018-01-13 01:14:03 +01:00
f2b72f4738 libimaghabit: Replace read with typed read 2018-01-13 01:14:03 +01:00
46774d765b libimagdiary: Replace read with typed read 2018-01-13 01:14:03 +01:00
0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
9a9701fce5 Add flag settings/Contact::is_contact in libimagcontact 2018-01-08 23:46:36 +01:00
1f133eac3b Use libimagentryutil::isa::Is in libimaghabit 2018-01-08 23:31:10 +01:00
80c460dac9 Transform BookmarkCollection into two traits
One trait is implemented on the Store, it retrieves BookmarkCollection
objects.
The other is implemented on `libimagstore::store::Entry` which then
represents a BookmarkCollection.
2018-01-08 15:16:14 +01:00
c0f4a20367
Merge pull request #1200 from matthiasbeyer/refactor-matching-into-command-chaining
Refactor matching into command chaining
2018-01-05 15:19:32 +01:00
2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
dd66936e48 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
a386d50df3 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
e7d5e9ebc2 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
4bb0d0f073 Refactor: Use function chaining instead of matching 2018-01-05 11:37:09 +01:00
dbd9a2faaf Replace matching with function chaining 2018-01-05 11:37:09 +01:00
c1ff2b14f0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
57cf5003bd Move common functionality to utility module 2018-01-05 11:37:09 +01:00
0640bdeb73 Add second-support in libimagdiary 2018-01-04 19:39:07 +01:00
af819f0fca Remove unneeded "mut" 2018-01-04 19:34:21 +01:00
198e304be9 Initial import of libimaglog implementation 2017-12-25 21:55:04 +01:00
92d4a0237e Initial import: libimaglog 2017-12-25 21:46:04 +01:00
3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
0ed636bb06 Refactor libimagrt+libimagstore to pass whole configuration object
Before we extracted the store configuration from the configuration
toml::Value object and passed it to the store.

This is unecessary overhead.

Now we pass the whole configuration object and let the store extract the
required values.
2017-12-24 13:52:18 +01:00
840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
6246d25c9d Fix: Until date is still optional 2017-12-22 13:20:11 +01:00
09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
9bf4b9604b Remove unused variables 2017-12-22 11:03:42 +01:00
90ed0c0e10 Remove unused macro import 2017-12-22 11:02:55 +01:00
96b51280ab Remove unused imports 2017-12-22 11:01:35 +01:00
cd8f0beae8 Add until-date support 2017-12-22 10:59:27 +01:00
ddf703eaa0 Add HabitTemplate::next_instance_date_after()
Rewrite HabitTemplate::next_instance_date() to use the new function
2017-12-19 19:13:12 +01:00
6f244a52ff Add function to instantiate with a given date
Use that function in the `create_instance()` function which was renamed
to `create_instance_today()`.
2017-12-19 19:13:04 +01:00
13e9ee3ffa Add Habit::next_instance_date() 2017-12-08 14:54:49 +01:00
f81faa3f6a Make "util" pub 2017-12-08 14:54:49 +01:00
999bdf8d0d Add HabitTemplate::linked_instances() function 2017-12-08 14:54:49 +01:00
3b319fd4f0 Add HabitInstanceStoreIdIterator::new 2017-12-08 14:54:49 +01:00
30e05d21f9 Add debugging output 2017-12-08 14:54:49 +01:00
90a4139ede Make builder consuming 2017-12-08 14:54:49 +01:00
dc7a315176 Getter for all instances 2017-12-08 14:54:45 +01:00
b181b488a2 Add extension to check whether an Entry or a StoreId points to a habit instance/template 2017-12-08 14:54:45 +01:00
9af2f34b58 Outsource instance id creation to helper fn 2017-12-08 14:54:45 +01:00
6a13567efc dependency: kairos: beta-1 -> beta-2 2017-12-08 14:54:45 +01:00
0ffbb2ef1a Add kairos error chain integration 2017-12-08 14:54:45 +01:00
2c655daa39 Add IsValidHabitObj helper trait 2017-12-08 14:54:45 +01:00
6b33fc9e6f Update kairos: master -> 0.1.0-beta-1 2017-12-08 14:54:45 +01:00
a6a36455f5 Add recur spec with kairos support 2017-12-08 14:54:41 +01:00
42cabffa64 Implement HabitInstance for Entry 2017-12-08 14:54:41 +01:00
533d97532b Move date-string conversion utils to util module 2017-12-08 14:54:40 +01:00
a71c9281ec Initial import 2017-12-08 14:54:40 +01:00
167511afec Fix formatting and adjust module/lib documentation
Also add symlink in module implementation to lib-documentation.
2017-12-08 14:54:40 +01:00
04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
dfbc69400a Let ContactData be unpacked and derefd 2017-10-31 19:10:11 +01:00
4fa41faa59 Add iterator for contacts 2017-10-31 19:10:11 +01:00
b05c8c6f6d Replace search_contact() with all_contacts()
We can then use filters to filter out the non relevant ones.
2017-10-31 19:10:11 +01:00
f3d75e97b6 Rely on own clone of rust-vobject 2017-10-31 19:10:10 +01:00
12e8657eb9 Add Contact::is_contact() 2017-10-31 19:09:43 +01:00
f2bd241a59 Add error for header type error 2017-10-31 19:09:43 +01:00
aae19221b6 Impl Contact::get_contact_data() 2017-10-31 19:09:43 +01:00
ce5e7f5252 Impl Store::create_from_path() 2017-10-31 19:09:43 +01:00
c14c19483c Add lib internal utilities 2017-10-31 19:09:43 +01:00
577f8d313a Add more error links 2017-10-31 19:09:43 +01:00
04182f5cb6 Add initial layout of code 2017-10-31 19:09:43 +01:00
eaa9ad5993 Add basic documentation on how the lib works 2017-10-31 19:09:43 +01:00
434505f1f0 Initial import of libimagcontact 2017-10-31 19:09:41 +01:00
f82ad2b6d1 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
29c9ad71b5 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
a44d79093c Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
e758a28c9e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
ea618ee3c7 Remove unused variable 2017-10-31 15:03:30 +01:00
b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
758166637b Update toml-query: 0.3.* -> 0.4
This update is needed for the error-chain update, as the toml-query
0.4.0 release also bumps this dependency.
2017-10-12 22:13:04 +02:00
663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +02:00