* mu-cmd-index.cc: clean up progress printing, make sure it passes make line33
and make cc10
This commit is contained in:
@ -182,93 +182,129 @@ show_time (unsigned t, unsigned processed)
|
|||||||
g_message ("Elapsed: %u second(s)", t);
|
g_message ("Elapsed: %u second(s)", t);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
|
||||||
mu_cmd_cleanup (MuConfigOptions *opts)
|
|
||||||
{
|
|
||||||
MuResult rv;
|
|
||||||
MuIndex *midx;
|
|
||||||
MuIndexStats stats;
|
|
||||||
time_t t;
|
|
||||||
gboolean quiet;
|
|
||||||
|
|
||||||
g_return_val_if_fail (opts, FALSE);
|
|
||||||
g_return_val_if_fail (mu_cmd_equals (opts, "cleanup") ||
|
|
||||||
mu_cmd_equals (opts, "index"),
|
|
||||||
FALSE);
|
|
||||||
|
|
||||||
if (!check_index_params (opts))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
install_sig_handler ();
|
|
||||||
|
static gboolean
|
||||||
|
cmd_cleanup (MuIndex *midx, MuConfigOptions *opts, MuIndexStats *stats,
|
||||||
|
gboolean show_progress)
|
||||||
|
{
|
||||||
|
MuResult rv;
|
||||||
|
time_t t;
|
||||||
|
|
||||||
midx = mu_index_new (opts->xpath);
|
g_message ("Cleaning up messages [%s]", opts->xpath);
|
||||||
if (!midx) {
|
|
||||||
g_warning ("Cleanup failed");
|
t = time (NULL);
|
||||||
return FALSE;
|
rv = mu_index_cleanup (midx, stats,
|
||||||
|
show_progress ? index_msg_cb : index_msg_silent_cb,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (!opts->quiet) {
|
||||||
|
print_stats (stats, TRUE);
|
||||||
|
g_print ("\n");
|
||||||
|
show_time ((unsigned)(time(NULL)-t),stats->_processed);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_message ("Cleaning up removed messages from %s",
|
return (rv == MU_OK || rv == MU_STOP) ? TRUE: FALSE;
|
||||||
opts->xpath);
|
}
|
||||||
mu_index_stats_clear (&stats);
|
|
||||||
|
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
cmd_index (MuIndex *midx, MuConfigOptions *opts, MuIndexStats *stats,
|
||||||
|
gboolean show_progress)
|
||||||
|
{
|
||||||
|
MuResult rv;
|
||||||
|
time_t t;
|
||||||
|
|
||||||
|
g_message ("Indexing messages under %s [%s]", opts->maildir, opts->xpath);
|
||||||
|
|
||||||
t = time (NULL);
|
t = time (NULL);
|
||||||
quiet = opts->quiet || !isatty(fileno(stdout));
|
rv = mu_index_run (midx, opts->maildir, opts->reindex, stats,
|
||||||
rv = mu_index_cleanup (midx, &stats,
|
show_progress ? index_msg_cb : index_msg_silent_cb,
|
||||||
quiet ? index_msg_silent_cb : index_msg_cb,
|
NULL, NULL);
|
||||||
NULL);
|
|
||||||
if (!quiet) {
|
if (!opts->quiet) {
|
||||||
print_stats (&stats, TRUE);
|
print_stats (stats, TRUE);
|
||||||
g_print ("\n");
|
g_print ("\n");
|
||||||
show_time ((unsigned)(time(NULL)-t),stats._processed);
|
show_time ((unsigned)(time(NULL)-t),stats->_processed);
|
||||||
}
|
}
|
||||||
|
|
||||||
mu_index_destroy (midx);
|
if (rv == MU_OK && !opts->nocleanup) {
|
||||||
|
mu_index_stats_clear (stats);
|
||||||
|
rv = cmd_cleanup (midx, opts, stats, show_progress);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rv == MU_OK || rv == MU_STOP) {
|
||||||
|
MU_WRITE_LOG ("processed: %u; updated/new: %u, cleaned-up: %u",
|
||||||
|
stats->_processed, stats->_updated,
|
||||||
|
stats->_cleaned_up);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
return (rv == MU_OK || rv == MU_STOP) ? TRUE: FALSE;
|
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
cmd_index_or_cleanup (MuConfigOptions *opts)
|
||||||
|
{
|
||||||
|
gboolean rv;
|
||||||
|
MuIndex *midx;
|
||||||
|
MuIndexStats stats;
|
||||||
|
gboolean show_progress;
|
||||||
|
|
||||||
|
g_return_val_if_fail (opts, FALSE);
|
||||||
|
g_return_val_if_fail (mu_cmd_equals (opts, "index") ||
|
||||||
|
mu_cmd_equals (opts, "cleanup"), FALSE);
|
||||||
|
|
||||||
|
if (!check_index_params (opts) || !database_version_check_and_update(opts))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!(midx = mu_index_new (opts->xpath))) {
|
||||||
|
g_warning ("Indexing/Cleanup failed");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* note, 'opts->quiet' already cause g_message output not to
|
||||||
|
* be shown; here, we make sure we only print progress info if
|
||||||
|
* opts->quiet is false case and when stdout is a tty */
|
||||||
|
show_progress = !opts->quiet && isatty(fileno(stdout));
|
||||||
|
|
||||||
|
mu_index_stats_clear (&stats);
|
||||||
|
install_sig_handler ();
|
||||||
|
|
||||||
|
if (mu_cmd_equals (opts, "index"))
|
||||||
|
rv = cmd_index (midx, opts, &stats, show_progress);
|
||||||
|
else if (mu_cmd_equals (opts, "cleanup"))
|
||||||
|
rv = cmd_cleanup (midx, opts, &stats, show_progress);
|
||||||
|
else
|
||||||
|
g_assert_not_reached ();
|
||||||
|
|
||||||
|
mu_index_destroy (midx);
|
||||||
|
|
||||||
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mu_cmd_index (MuConfigOptions *opts)
|
mu_cmd_index (MuConfigOptions *opts)
|
||||||
{
|
{
|
||||||
MuResult rv;
|
g_return_val_if_fail (opts && mu_cmd_equals (opts, "index"),
|
||||||
gboolean quiet;
|
FALSE);
|
||||||
MuIndex *midx;
|
|
||||||
MuIndexStats stats;
|
|
||||||
time_t t;
|
|
||||||
|
|
||||||
g_return_val_if_fail (opts && mu_cmd_equals (opts, "index"), FALSE);
|
return cmd_index_or_cleanup (opts);
|
||||||
|
|
||||||
if (!check_index_params (opts) || !database_version_check_and_update(opts))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (!(midx = mu_index_new (opts->xpath))) {
|
|
||||||
g_warning ("Indexing failed");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_message ("Indexing messages under %s", opts->maildir);
|
|
||||||
g_message ("Database: %s", opts->xpath);
|
|
||||||
t = time (NULL);
|
|
||||||
|
|
||||||
mu_index_stats_clear (&stats);
|
|
||||||
quiet = opts->quiet || !isatty(fileno(stdout));
|
|
||||||
install_sig_handler ();
|
|
||||||
rv = mu_index_run (midx, opts->maildir, opts->reindex, &stats,
|
|
||||||
quiet ? index_msg_silent_cb :index_msg_cb, NULL, NULL);
|
|
||||||
if (!quiet) {
|
|
||||||
print_stats (&stats, TRUE);
|
|
||||||
g_print ("\n");
|
|
||||||
show_time ((unsigned)(time(NULL)-t),stats._processed);
|
|
||||||
}
|
|
||||||
|
|
||||||
mu_index_destroy (midx);
|
|
||||||
|
|
||||||
if (rv == MU_OK && !opts->nocleanup)
|
|
||||||
rv = mu_cmd_cleanup (opts);
|
|
||||||
|
|
||||||
MU_WRITE_LOG ("processed: %u; updated/new: %u, cleaned-up: %u",
|
|
||||||
stats._processed, stats._updated, stats._cleaned_up);
|
|
||||||
|
|
||||||
return (rv == MU_OK || rv == MU_STOP) ? TRUE: FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
mu_cmd_cleanup (MuConfigOptions *opts)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (opts && mu_cmd_equals (opts, "cleanup"),
|
||||||
|
FALSE);
|
||||||
|
|
||||||
|
return cmd_index_or_cleanup (opts);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user