mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-01-03 07:11:41 +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
47
notmuch.c
47
notmuch.c
|
@ -79,11 +79,9 @@ read_line (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int messages_total;
|
int total_messages;
|
||||||
int count;
|
int count;
|
||||||
int count_last;
|
|
||||||
struct timeval tv_start;
|
struct timeval tv_start;
|
||||||
struct timeval tv_last;
|
|
||||||
} add_files_state_t;
|
} add_files_state_t;
|
||||||
|
|
||||||
/* Compute the number of seconds elapsed from start to end. */
|
/* Compute the number of seconds elapsed from start to end. */
|
||||||
|
@ -102,47 +100,37 @@ print_formatted_seconds (double seconds)
|
||||||
|
|
||||||
if (seconds > 3600) {
|
if (seconds > 3600) {
|
||||||
hours = (int) seconds / 3600;
|
hours = (int) seconds / 3600;
|
||||||
printf ("%d:", hours);
|
printf ("%dh ", hours);
|
||||||
seconds -= hours * 3600;
|
seconds -= hours * 3600;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (seconds > 60)
|
if (seconds > 60) {
|
||||||
minutes = (int) seconds / 60;
|
minutes = (int) seconds / 60;
|
||||||
else
|
printf ("%dm ", minutes);
|
||||||
minutes = 0;
|
|
||||||
|
|
||||||
printf ("%02d:", minutes);
|
|
||||||
seconds -= minutes * 60;
|
seconds -= minutes * 60;
|
||||||
|
}
|
||||||
|
|
||||||
printf ("%02d", (int) seconds);
|
printf ("%02ds", (int) seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
add_files_print_progress (add_files_state_t *state)
|
add_files_print_progress (add_files_state_t *state)
|
||||||
{
|
{
|
||||||
struct timeval tv_now;
|
struct timeval tv_now;
|
||||||
double ratio_complete;
|
double elapsed_overall, rate_overall;
|
||||||
double elapsed_current, rate_current;
|
|
||||||
double elapsed_overall;
|
|
||||||
|
|
||||||
gettimeofday (&tv_now, NULL);
|
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);
|
elapsed_overall = tv_elapsed (state->tv_start, tv_now);
|
||||||
|
rate_overall = (state->count) / elapsed_overall;
|
||||||
|
|
||||||
printf ("Added %d messages at %d messages/sec. ",
|
printf ("Added %d of %d messages (",
|
||||||
state->count, (int) rate_current);
|
state->count, state->total_messages);
|
||||||
print_formatted_seconds (elapsed_overall);
|
print_formatted_seconds ((state->total_messages - state->count) /
|
||||||
printf ("/");
|
rate_overall);
|
||||||
print_formatted_seconds (elapsed_overall / ratio_complete);
|
printf (" remaining).\r");
|
||||||
printf (" elapsed (%.2f%%). \r", 100 * ratio_complete);
|
|
||||||
|
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
|
|
||||||
state->tv_last = tv_now;
|
|
||||||
state->count_last = state->count;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recursively find all regular files in 'path' and add them to the
|
/* Recursively find all regular files in 'path' and add them to the
|
||||||
|
@ -295,6 +283,7 @@ setup_command (int argc, char *argv[])
|
||||||
int count;
|
int count;
|
||||||
add_files_state_t add_files_state;
|
add_files_state_t add_files_state;
|
||||||
double elapsed;
|
double elapsed;
|
||||||
|
struct timeval tv_now;
|
||||||
|
|
||||||
printf ("Welcome to notmuch!\n\n");
|
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");
|
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 = 0;
|
||||||
add_files_state.count_last = 0;
|
|
||||||
gettimeofday (&add_files_state.tv_start, NULL);
|
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);
|
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,
|
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);
|
printf ("Added %d total messages in ", add_files_state.count);
|
||||||
print_formatted_seconds (elapsed);
|
print_formatted_seconds (elapsed);
|
||||||
printf (" (%d messages/sec.). \n", (int) (add_files_state.count / elapsed));
|
printf (" (%d messages/sec.). \n", (int) (add_files_state.count / elapsed));
|
||||||
|
|
Loading…
Reference in a new issue