Commit graph

59 commits

Author SHA1 Message Date
Leon Schuermann
3e12bd99d4 imag-diary: implement ImagApplication
Signed-off-by: Leon Schuermann <leon@is.currently.online>
2019-10-26 14:41:31 +02:00
flip1995
1bb6f452e9 [No-auto] bin/domain/diary: Fix Clippy warnings
Signed-off-by: flip1995 <hello@philkrones.com>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-28 18:18:41 +02:00
flip1995
171757f5ca [Auto] bin/core/diary: Fix Clippy warnings
Signed-off-by: flip1995 <hello@philkrones.com>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-28 18:18:40 +02:00
03fec5f4db List diaries only if output is not a pipe
Beforehand, this command:

    imag diary -d foo list | cat

listed each entry twice because the reporting feature of libimagrt
forwarded the list to stdout and the normal output was written to
stderr.

With this patch, we get the output only once in this case.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-21 10:42:27 +02:00
bb4f0ace6b Fix imag-diary to ignore broken pipes
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-30 11:12:47 +02:00
1d89844613 Run 'cargo fix' for rust-2018
With this patch we move the codebase to Rust-2018.

The diff was generated by executing

    cargo fix --all --all-features --edition

on the codebase.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-18 00:20:59 +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
9fca66aa89 Forbid unsafe code in all crates 2018-11-11 13:05:55 +01:00
a2eae99a39 Rewrite debug calls with DebugOption extension 2018-11-09 21:48:26 +01:00
c767e6239e Remove unused parameter
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 21:48:26 +01:00
2ca6be8322 Add id reporting in imag-diary 2018-11-06 20:35:18 +01:00
1321f49428 Optimize implementation
Code-wise, the functionality was not changed. The changes only make the
code much more pretty.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 14:48:49 +01:00
d004c667fd Optimize implementation
Code-wise, the functionality was not changed. The changes only make the
code much more pretty.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 14:48:49 +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
4486abed84 imag-diary: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
b896bc2657 Fix: Do not create entries with Store::retrieve()
This patch fixes a bug where entries where created with
`Store::retrieve()` rather than with the API from libimagdiary.
This caused headers to be missing.

Now, the CLI is parsed for the values passed and a NaiveDateTime object
is crafted from that, which is then passed to libimagdiary.
2018-07-20 01:37:36 +02:00
22d63f0946 Add functionality to create entry at a certain time 2018-07-20 01:37:36 +02:00
11f9a9027e Refactor imag-diary to new store iterator interface 2018-05-01 17:44:09 +02:00
58a6eea573 Remove the edit command
The edit command of imag-diary gets removed by this patch.

The rationale is that imag-edit is way more powerful and thus, not every
other imag module should implement an edit command. Chaining
`imag-diary list` and `imag edit -I` is encouraged.

We still need the edit functionality in imag-diary, as `imag diary
create` shall spawn an editor, still. We only remove the ability for
editing of existing entries with this patch.
2018-04-30 14:04:16 +02:00
279f7ef2aa Fix: Pass output stream to view_entries() 2018-04-24 16:46:23 +02:00
6e80f603d6 Add functionality to list diaries 2018-04-19 21:36:22 +02:00
b690925e01 Fix: Use fill storeid when listing 2018-04-18 18:32:11 +02:00
51b9b5c0db Fix: Use qualification 2018-04-14 00:58:40 +02:00
532de484f2 Fix: List ids sorted 2018-04-13 13:51:56 +02:00
8c1b4124c0 Handle unknown subcommands in binaries with Runtime::handle_unknown_subcommand 2018-04-04 19:34:13 +02:00
ee6e766c8d Use generate_runtime_setup() to create Runtime object 2018-03-04 13:57:44 +01:00
50461b839a Use output stream from Runtime::stdout() 2018-03-04 13:57:44 +01:00
f88884c321
Merge pull request #1321 from matthiasbeyer/libimagdiary/not-on-retrieve-for-module
libimagdiary: Do not rely on Store::retrieve_for_module
2018-03-03 13:53:18 +01:00
cedbaf1b5c Add "daily" support 2018-03-02 23:10:53 +01:00
776e1dac91 Fix: Hourly/Minutely should set minute/second to zero 2018-03-02 23:10:53 +01:00
affd15a890 Rewrite imag-diary for new Diary::entries() interface 2018-03-02 21:28:40 +01:00
c2b754dbec
Merge pull request #1303 from matthiasbeyer/imag-diary/fix-list-diary-name-passing
Fix order of evaluation
2018-02-20 18:37:55 +01:00
0cde88d661 Fix order of evaluation
We need to evaluate the commandline argument first and if there is none,
we use the default.

This patch fixes that bug.
2018-02-20 17:27:42 +01:00
027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
e501f66dac Fix broken pipe panics 2018-02-19 11:14:19 +01:00
876c1cb9af Fix broken pipe panics 2018-02-19 11:14:18 +01:00
10e7a82a45 Refactor imag-diary 2018-02-18 20:03:50 +01:00
3341e3640c
Merge pull request #1224 from matthiasbeyer/git-version-in-version
Git version in version
2018-02-18 20:03:09 +01:00
9469693763 Use new make_imag_version!() macro for building version string 2018-02-13 11:38:34 +01:00
b9800e19e9 Refactor imag-diary to use new error handling 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
d1fc8c3995 Add second support in imag-diary commandline interface 2018-02-04 19:51:07 +01:00
bfc35e0517 Remove dependency "version"
Because the "version" crate is licensed as GPL, which would us require
to release imag as GPL, we remove the crate now.
2018-01-12 13:33:40 +01:00
b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
815cde76d0 Rewrite .map_err_trace_exit().unwrap() with new helper fn 2017-10-12 20:15:46 +02:00
dc78c0e448 Change create() to check config and commandline whether entry should be created timed or not 2017-09-14 18:59:03 +02:00
dbf529e427 Add config parsing helpers 2017-09-14 18:58:40 +02:00
ea982204b9 Add new deps: toml, toml_query 2017-09-14 18:58:17 +02:00