Commit graph

29 commits

Author SHA1 Message Date
605b98276d Run "cargo fix --all-features" in root of project
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-25 12:17:07 +02:00
9b7edfc6c1 Rewrite imag-contact to handle reference storing
This patch rewrites the imag-contact binary to be able to work with the
new libimagcontact interface, which now uses libimagentryref for storing
references to the actual vcard files.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-22 14:26:56 +02:00
90eaeb642a Remove magic constants in trace_unwrap_exit/map_err_trace_exit_unwrap calls
This patch removes the magic constant we used when calling
`trace_unwrap_exit()` or `map_err_trace_exit_unwrap()`.
We used to call it with `1` as parameter, where the number was the exit
code to use. Now the implementation of the function does it
automatically (using 1 (one) as exit code).

All calls of these functions were fixed. Thanks to vim this was easy.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
f1a639ea8c Change id reporting API to return ExitCode
Because this API only errors when write!() errors occur, we can return
the exit code as an error here.

This way the user of the API can immediately exit if there was an IO
error, but the API automatically takes care of the right return value,
returning (exiting) with zero (0) if there was an "Broken pipe" error
and with one (1) otherwise, which is the expected behaviour here.

All calls to that API were changed accordingly.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:22:56 +01:00
9185abcfa5 Update copyright years
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-01-03 18:41:36 +01:00
8523ae2120 Add id reporting in imag-contact 2018-11-06 20:34:46 +01:00
8223f846b4 Use new "ask" function interface with input/output stream params
In the imag-contact crate we had to rewrite the ask_continue!{} macro
as a function for less headache, but besides that this is a rather
straight-forward patch for adapting to the new interface.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 20:33:24 +01:00
3ac30c0944 imag-contact: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
ab3b36ebcf Update dependencies
walkdir: 1 -> 2
uuid: 0.6 -> 0.7
2018-10-06 12:22:15 +02:00
89059bb7da Fix: Use VcardBuilder instead of Vcard itself
The current implementation does not panic on VcardBuilder::build(), so
we unwrap() that directly.

Should be fixed in future versions of either rust-vobject or here, so
that we error appropriately.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-09-27 15:05:45 +02:00
932ba3e7d4 Set extension or warn if none there
In case of auto-generating the file name, we should add an extension.
If we do not auto-generate the file name, we should warn that the
extension for the file is missing.
2018-04-27 13:58:46 +02:00
493fa0226c
Merge pull request #1453 from matthiasbeyer/imag-contact/create-uid
Fix: Generate UID when creating a contact
2018-04-26 16:16:33 +02:00
ad9eb62376 Fix: Generate UID when creating a contact 2018-04-26 14:43:21 +02:00
07e804a7c8 Fix: Make most fields optional 2018-04-26 14:01:53 +02:00
d6f8751f6e Reimplement imag-contact 2018-04-25 13:45:00 +02:00
ad3269bbcc Add lints 2018-04-14 00:39:43 +02:00
50461b839a Use output stream from Runtime::stdout() 2018-03-04 13:57:44 +01:00
9ced9008b5 Refactor imag-contact for new libimagentryref API 2018-02-19 12:15:40 +01:00
94cad804e1 Use ErrFromStr convenience extension 2018-02-12 21:25:51 +01:00
ee23f432de Fix imag-contact for new error interface 2018-02-12 21:19:48 +01:00
d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
521d661f1c Fix path 2017-11-09 11:21:17 +01:00
00c73d53c7 Phone and email information is in the person table 2017-11-09 11:21:17 +01:00
c90d0ab34a Fix UUID-Filename creating, add debug output 2017-11-09 11:21:17 +01:00
296136fca5 Add tests 2017-11-09 11:21:17 +01:00
524df37ca6 Add parsing of personal information: Birthday 2017-11-09 11:21:17 +01:00
794efb0034 Outsource functional part for testability 2017-11-09 11:21:17 +01:00
e211aba341 Implement create subcommand
The complexity of the create() routine justifies the move to another file.

This commit implements the create() functionality which creates a TOML
tempfile which the user should edit and then reads the contents to build
the Vcard object which then gets written to either stdout or the
destination file.

Besides that:

* Move helper function to util module
* Rewrite and fix tests
2017-11-09 11:20:32 +01:00