mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
notmuch: Reword the progress report slightly.
I noticed this style during a recent Debian install and I liked how much less busy it is compared to what we had before, (while still telling the user everything she might want).
This commit is contained in:
parent
371091139a
commit
2269106466
1 changed files with 18 additions and 31 deletions
49
notmuch.c
49
notmuch.c
|
@ -79,11 +79,9 @@ read_line (void)
|
|||
}
|
||||
|
||||
typedef struct {
|
||||
int messages_total;
|
||||
int total_messages;
|
||||
int count;
|
||||
int count_last;
|
||||
struct timeval tv_start;
|
||||
struct timeval tv_last;
|
||||
} add_files_state_t;
|
||||
|
||||
/* Compute the number of seconds elapsed from start to end. */
|
||||
|
@ -102,47 +100,37 @@ print_formatted_seconds (double seconds)
|
|||
|
||||
if (seconds > 3600) {
|
||||
hours = (int) seconds / 3600;
|
||||
printf ("%d:", hours);
|
||||
printf ("%dh ", hours);
|
||||
seconds -= hours * 3600;
|
||||
}
|
||||
|
||||
if (seconds > 60)
|
||||
if (seconds > 60) {
|
||||
minutes = (int) seconds / 60;
|
||||
else
|
||||
minutes = 0;
|
||||
printf ("%dm ", minutes);
|
||||
seconds -= minutes * 60;
|
||||
}
|
||||
|
||||
printf ("%02d:", minutes);
|
||||
seconds -= minutes * 60;
|
||||
|
||||
printf ("%02d", (int) seconds);
|
||||
printf ("%02ds", (int) seconds);
|
||||
}
|
||||
|
||||
void
|
||||
add_files_print_progress (add_files_state_t *state)
|
||||
{
|
||||
struct timeval tv_now;
|
||||
double ratio_complete;
|
||||
double elapsed_current, rate_current;
|
||||
double elapsed_overall;
|
||||
double elapsed_overall, rate_overall;
|
||||
|
||||
gettimeofday (&tv_now, NULL);
|
||||
|
||||
ratio_complete = (double) state->count / state->messages_total;
|
||||
elapsed_current = tv_elapsed (state->tv_last, tv_now);
|
||||
rate_current = (state->count - state->count_last) / elapsed_current;
|
||||
elapsed_overall = tv_elapsed (state->tv_start, tv_now);
|
||||
rate_overall = (state->count) / elapsed_overall;
|
||||
|
||||
printf ("Added %d messages at %d messages/sec. ",
|
||||
state->count, (int) rate_current);
|
||||
print_formatted_seconds (elapsed_overall);
|
||||
printf ("/");
|
||||
print_formatted_seconds (elapsed_overall / ratio_complete);
|
||||
printf (" elapsed (%.2f%%). \r", 100 * ratio_complete);
|
||||
printf ("Added %d of %d messages (",
|
||||
state->count, state->total_messages);
|
||||
print_formatted_seconds ((state->total_messages - state->count) /
|
||||
rate_overall);
|
||||
printf (" remaining).\r");
|
||||
|
||||
fflush (stdout);
|
||||
|
||||
state->tv_last = tv_now;
|
||||
state->count_last = state->count;
|
||||
}
|
||||
|
||||
/* Recursively find all regular files in 'path' and add them to the
|
||||
|
@ -295,6 +283,7 @@ setup_command (int argc, char *argv[])
|
|||
int count;
|
||||
add_files_state_t add_files_state;
|
||||
double elapsed;
|
||||
struct timeval tv_now;
|
||||
|
||||
printf ("Welcome to notmuch!\n\n");
|
||||
|
||||
|
@ -353,17 +342,15 @@ setup_command (int argc, char *argv[])
|
|||
|
||||
printf ("Next, we'll inspect the messages and create a database of threads:\n");
|
||||
|
||||
add_files_state.messages_total = count;
|
||||
add_files_state.total_messages = count;
|
||||
add_files_state.count = 0;
|
||||
add_files_state.count_last = 0;
|
||||
gettimeofday (&add_files_state.tv_start, NULL);
|
||||
add_files_state.tv_last = add_files_state.tv_start;
|
||||
|
||||
add_files (notmuch, mail_directory, &add_files_state);
|
||||
|
||||
gettimeofday (&add_files_state.tv_last, NULL);
|
||||
gettimeofday (&tv_now, NULL);
|
||||
elapsed = tv_elapsed (add_files_state.tv_start,
|
||||
add_files_state.tv_last);
|
||||
tv_now);
|
||||
printf ("Added %d total messages in ", add_files_state.count);
|
||||
print_formatted_seconds (elapsed);
|
||||
printf (" (%d messages/sec.). \n", (int) (add_files_state.count / elapsed));
|
||||
|
|
Loading…
Reference in a new issue