Commit Graph

221 Commits

Author SHA1 Message Date
Matthias Beyer 2b8a83d9a7 Add entry getter function 2018-04-15 10:27:09 +02:00
Matthias Beyer c242a362e4 Add id iterator 2018-04-15 10:27:09 +02:00
Matthias Beyer bb0d4319c3 Initial import: libimagwiki 2018-04-15 10:27:09 +02:00
Matthias Beyer 899f3b9eb9 Update dependency: toml-query: 0.4 -> 0.6 2018-04-15 09:15:16 +02:00
Matthias Beyer d02b298d5a Add lints 2018-04-14 00:41:31 +02:00
Matthias Beyer a40d90fef2 Add lints 2018-04-14 00:41:31 +02:00
Matthias Beyer ae5c4cf9ba Fix: view entries sorted 2018-04-13 13:41:02 +02:00
Matthias Beyer aa32dd1ec2 Add debugging output if kairos fails to parse input 2018-03-23 10:05:58 +01:00
Matthias Beyer 835c003491
Merge pull request #1360 from matthiasbeyer/libimaghabit/create-vs-retrieve
Fix: Use retrieve in retrieve variant
2018-03-23 10:03:52 +01:00
Matthias Beyer 30233456df Fix: Use retrieve in retrieve variant 2018-03-22 21:34:00 +01:00
Matthias Beyer b62d7eab85 Fix: libimaghabit::habit::HabitTemplate should link created instances to the template 2018-03-22 21:32:58 +01:00
Matthias Beyer c857f97287
Merge pull request #1357 from matthiasbeyer/libimaghabit/create-vs-retrieve
Libimaghabit/create vs retrieve
2018-03-22 21:20:26 +01:00
Matthias Beyer 247b9499a7 Refactor for less verbose code 2018-03-22 14:00:10 +01:00
Matthias Beyer 2232f0153f Dedup code 2018-03-22 13:54:15 +01:00
Matthias Beyer 964b168f18 Add "retrieve" variants for retrieving instances
and fix create implementation to use `Store::create()`, which did the
wrong thing.
2018-03-22 13:51:12 +01:00
Matthias Beyer 45fdeb4e18 Add helper to check whether an instance exists for a date 2018-03-22 13:44:41 +01:00
Matthias Beyer 5d9fd7ab10 Simplify error handling by using linking feature of error-chain 2018-03-12 19:21:48 +01:00
Matthias Beyer e8ae2fb73e Add type so that we can serialize a Vcard 2018-03-12 17:45:50 +01:00
Matthias Beyer 65d558727e Change ref creation to use UID from vcard object 2018-03-12 14:43:02 +01:00
Matthias Beyer 252046583a
Merge pull request #1332 from matthiasbeyer/libimagcontact/all-contacts
Implement ContactStore::all_contacts()
2018-03-12 14:17:54 +01:00
Matthias Beyer 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
Matthias Beyer 3bf1b6ccec Implement ContactStore::all_contacts() 2018-03-12 12:52:24 +01:00
Matthias Beyer 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
Matthias Beyer b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
Minor patches
2018-02-20 20:23:41 +01:00
Matthias Beyer 404e9deed2 Add some debug output 2018-02-20 17:29:03 +01:00
Matthias Beyer 585261d468 Add "isflag" support 2018-02-20 17:18:46 +01:00
Matthias Beyer b9b15957fc Merge branch 'libimagmail/rewrite-libimagref-api-usage' into libimagentryref/refactor 2018-02-19 12:17:48 +01:00
Matthias Beyer 672873c2f1 Make UniqueContactPathGenerator pub 2018-02-19 12:15:39 +01:00
Matthias Beyer 719daf952b Refactor libimagcontact for new libimagentryref API 2018-02-19 12:15:39 +01:00
Matthias Beyer 30ad7d89b1 Reimplement libimagmail for new libimagentryref interface 2018-02-19 12:15:22 +01:00
Matthias Beyer 2b26db70ed Make HabitBuilder derive Debug 2018-02-18 20:03:50 +01:00
Matthias Beyer 50b0ffa6ae Remove calls to trace_error_exit() 2018-02-12 21:19:48 +01:00
Matthias Beyer 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
Matthias Beyer 77be32d80f Remove "get" iterator, store provides this now 2018-02-11 23:44:27 +01:00
Matthias Beyer 30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
Matthias Beyer 3b710e082d Add missing Cargo.toml metadata 2018-02-10 14:11:46 +01:00
Matthias Beyer d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
Matthias Beyer 29e88c5de0 Fix: Header entry setting
The header was not set properly. This fixes this bug.
2018-02-06 20:42:43 +01:00
Matthias Beyer 346e5a9444 Add link to toml_query error types 2018-02-06 20:42:43 +01:00
Matthias Beyer e2e3b4f6e2 Update kairos dependency: 0.1.0-beta-2 -> 0.1.0 2018-02-05 16:20:05 +01:00
Matthias Beyer 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
Matthias Beyer 4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
Matthias Beyer 635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
Matthias Beyer f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
Matthias Beyer 13ff09d8c6 libimagtodo: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 397f79b238 libimagtimetrack: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer cb0cb21220 libimagnotes: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 014b54ad4e libimaglog: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer f2b72f4738 libimaghabit: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 46774d765b libimagdiary: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
Matthias Beyer 9a9701fce5 Add flag settings/Contact::is_contact in libimagcontact 2018-01-08 23:46:36 +01:00
Matthias Beyer 1f133eac3b Use libimagentryutil::isa::Is in libimaghabit 2018-01-08 23:31:10 +01:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
Matthias Beyer dd66936e48 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer a386d50df3 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer e7d5e9ebc2 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 4bb0d0f073 Refactor: Use function chaining instead of matching 2018-01-05 11:37:09 +01:00
Matthias Beyer dbd9a2faaf Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer c1ff2b14f0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer 57cf5003bd Move common functionality to utility module 2018-01-05 11:37:09 +01:00
Matthias Beyer 0640bdeb73 Add second-support in libimagdiary 2018-01-04 19:39:07 +01:00
Matthias Beyer af819f0fca Remove unneeded "mut" 2018-01-04 19:34:21 +01:00
Matthias Beyer 198e304be9 Initial import of libimaglog implementation 2017-12-25 21:55:04 +01:00
Matthias Beyer 92d4a0237e Initial import: libimaglog 2017-12-25 21:46:04 +01:00
Matthias Beyer 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
Matthias Beyer 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
Matthias Beyer 840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
Matthias Beyer 6246d25c9d Fix: Until date is still optional 2017-12-22 13:20:11 +01:00
Matthias Beyer 09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
Matthias Beyer 9bf4b9604b Remove unused variables 2017-12-22 11:03:42 +01:00
Matthias Beyer 90ed0c0e10 Remove unused macro import 2017-12-22 11:02:55 +01:00
Matthias Beyer 96b51280ab Remove unused imports 2017-12-22 11:01:35 +01:00
Matthias Beyer cd8f0beae8 Add until-date support 2017-12-22 10:59:27 +01:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 13e9ee3ffa Add Habit::next_instance_date() 2017-12-08 14:54:49 +01:00
Matthias Beyer f81faa3f6a Make "util" pub 2017-12-08 14:54:49 +01:00
Matthias Beyer 999bdf8d0d Add HabitTemplate::linked_instances() function 2017-12-08 14:54:49 +01:00
Matthias Beyer 3b319fd4f0 Add HabitInstanceStoreIdIterator::new 2017-12-08 14:54:49 +01:00
Matthias Beyer 30e05d21f9 Add debugging output 2017-12-08 14:54:49 +01:00
Matthias Beyer 90a4139ede Make builder consuming 2017-12-08 14:54:49 +01:00
Matthias Beyer dc7a315176 Getter for all instances 2017-12-08 14:54:45 +01:00
Matthias Beyer 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
Matthias Beyer 9af2f34b58 Outsource instance id creation to helper fn 2017-12-08 14:54:45 +01:00
Matthias Beyer 6a13567efc dependency: kairos: beta-1 -> beta-2 2017-12-08 14:54:45 +01:00
Matthias Beyer 0ffbb2ef1a Add kairos error chain integration 2017-12-08 14:54:45 +01:00
Matthias Beyer 2c655daa39 Add IsValidHabitObj helper trait 2017-12-08 14:54:45 +01:00
Matthias Beyer 6b33fc9e6f Update kairos: master -> 0.1.0-beta-1 2017-12-08 14:54:45 +01:00
Matthias Beyer a6a36455f5 Add recur spec with kairos support 2017-12-08 14:54:41 +01:00
Matthias Beyer 42cabffa64 Implement HabitInstance for Entry 2017-12-08 14:54:41 +01:00
Matthias Beyer 533d97532b Move date-string conversion utils to util module 2017-12-08 14:54:40 +01:00
Matthias Beyer a71c9281ec Initial import 2017-12-08 14:54:40 +01:00
Matthias Beyer 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
Matthias Beyer 04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
Matthias Beyer dfbc69400a Let ContactData be unpacked and derefd 2017-10-31 19:10:11 +01:00
Matthias Beyer 4fa41faa59 Add iterator for contacts 2017-10-31 19:10:11 +01:00