mirror of https://github.com/djcb/mu.git
* mu: improve help output
This commit is contained in:
parent
3c0dadeb70
commit
3132b8dd42
|
@ -702,8 +702,13 @@ query_params_valid (MuConfig *opts, GError **err)
|
||||||
{
|
{
|
||||||
const gchar *xpath;
|
const gchar *xpath;
|
||||||
|
|
||||||
xpath = mu_runtime_path (MU_RUNTIME_PATH_XAPIANDB);
|
if (!opts->params[1]) {
|
||||||
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
|
"missing query");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
xpath = mu_runtime_path (MU_RUNTIME_PATH_XAPIANDB);
|
||||||
if (mu_util_check_dir (xpath, TRUE, FALSE))
|
if (mu_util_check_dir (xpath, TRUE, FALSE))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
@ -731,11 +736,10 @@ mu_cmd_find (MuStore *store, MuConfig *opts, GError **err)
|
||||||
if (opts->exec)
|
if (opts->exec)
|
||||||
opts->format = MU_CONFIG_FORMAT_EXEC; /* pseudo format */
|
opts->format = MU_CONFIG_FORMAT_EXEC; /* pseudo format */
|
||||||
|
|
||||||
if (!query_params_valid (opts, err) || !format_params_valid(opts, err)) {
|
if (!query_params_valid (opts, err) ||
|
||||||
|
!format_params_valid(opts, err)) {
|
||||||
if (MU_G_ERROR_CODE(err) == MU_ERROR_IN_PARAMETERS)
|
if (MU_G_ERROR_CODE(err) == MU_ERROR_IN_PARAMETERS)
|
||||||
show_usage ();
|
show_usage ();
|
||||||
|
|
||||||
return MU_G_ERROR_CODE (err);
|
return MU_G_ERROR_CODE (err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
49
mu/mu-cmd.c
49
mu/mu-cmd.c
|
@ -270,8 +270,8 @@ mu_cmd_mkdir (MuConfig *opts, GError **err)
|
||||||
MU_ERROR_INTERNAL);
|
MU_ERROR_INTERNAL);
|
||||||
|
|
||||||
if (!opts->params[1]) {
|
if (!opts->params[1]) {
|
||||||
g_set_error (err, MU_ERROR_DOMAIN, MU_ERROR_IN_PARAMETERS,
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
"missing directory parameter");
|
"missing directory parameter");
|
||||||
return MU_ERROR_IN_PARAMETERS;
|
return MU_ERROR_IN_PARAMETERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,8 +325,8 @@ mu_cmd_add (MuStore *store, MuConfig *opts, GError **err)
|
||||||
/* note: params[0] will be 'add' */
|
/* note: params[0] will be 'add' */
|
||||||
if (!opts->params[0] || !opts->params[1]) {
|
if (!opts->params[0] || !opts->params[1]) {
|
||||||
g_print ("usage: mu add <file> [<files>]\n");
|
g_print ("usage: mu add <file> [<files>]\n");
|
||||||
g_set_error (err, MU_ERROR_DOMAIN, MU_ERROR_IN_PARAMETERS,
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
"missing source and/or target");
|
"missing source and/or target");
|
||||||
return MU_ERROR_IN_PARAMETERS;
|
return MU_ERROR_IN_PARAMETERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -344,8 +344,8 @@ mu_cmd_add (MuStore *store, MuConfig *opts, GError **err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!allok) {
|
if (!allok) {
|
||||||
g_set_error (err, MU_ERROR_DOMAIN, MU_ERROR_XAPIAN_STORE_FAILED,
|
mu_util_g_set_error (err, MU_ERROR_XAPIAN_STORE_FAILED,
|
||||||
"store failed for some message(s)");
|
"store failed for some message(s)");
|
||||||
return MU_ERROR_XAPIAN_STORE_FAILED;
|
return MU_ERROR_XAPIAN_STORE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -366,7 +366,7 @@ mu_cmd_remove (MuStore *store, MuConfig *opts, GError **err)
|
||||||
/* note: params[0] will be 'add' */
|
/* note: params[0] will be 'add' */
|
||||||
if (!opts->params[0] || !opts->params[1]) {
|
if (!opts->params[0] || !opts->params[1]) {
|
||||||
g_warning ("usage: mu remove <file> [<files>]");
|
g_warning ("usage: mu remove <file> [<files>]");
|
||||||
g_set_error (err, MU_ERROR_DOMAIN, MU_ERROR_IN_PARAMETERS,
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
"missing source and/or target");
|
"missing source and/or target");
|
||||||
return MU_ERROR_IN_PARAMETERS;
|
return MU_ERROR_IN_PARAMETERS;
|
||||||
}
|
}
|
||||||
|
@ -468,6 +468,12 @@ mu_cmd_verify (MuConfig *opts, GError **err)
|
||||||
g_return_val_if_fail (opts->cmd == MU_CONFIG_CMD_VERIFY,
|
g_return_val_if_fail (opts->cmd == MU_CONFIG_CMD_VERIFY,
|
||||||
MU_ERROR_INTERNAL);
|
MU_ERROR_INTERNAL);
|
||||||
|
|
||||||
|
if (!opts->params[1]) {
|
||||||
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
|
"missing message-file parameter");
|
||||||
|
return MU_ERROR_IN_PARAMETERS;
|
||||||
|
}
|
||||||
|
|
||||||
msg = mu_msg_new_from_file (opts->params[1], NULL, err);
|
msg = mu_msg_new_from_file (opts->params[1], NULL, err);
|
||||||
if (!msg)
|
if (!msg)
|
||||||
return MU_ERROR;
|
return MU_ERROR;
|
||||||
|
@ -504,7 +510,7 @@ show_usage (void)
|
||||||
{
|
{
|
||||||
g_print ("usage: mu command [options] [parameters]\n");
|
g_print ("usage: mu command [options] [parameters]\n");
|
||||||
g_print ("where command is one of index, find, cfind, view, mkdir, "
|
g_print ("where command is one of index, find, cfind, view, mkdir, "
|
||||||
"extract, add, remove or server\n");
|
"extract, add, remove, verify or server\n");
|
||||||
g_print ("see the mu, mu-<command> or mu-easy manpages for "
|
g_print ("see the mu, mu-<command> or mu-easy manpages for "
|
||||||
"more information\n");
|
"more information\n");
|
||||||
}
|
}
|
||||||
|
@ -560,6 +566,7 @@ check_params (MuConfig *opts, GError **err)
|
||||||
MuError
|
MuError
|
||||||
mu_cmd_execute (MuConfig *opts, GError **err)
|
mu_cmd_execute (MuConfig *opts, GError **err)
|
||||||
{
|
{
|
||||||
|
MuError merr;
|
||||||
g_return_val_if_fail (opts, MU_ERROR_INTERNAL);
|
g_return_val_if_fail (opts, MU_ERROR_INTERNAL);
|
||||||
|
|
||||||
if (opts->version) {
|
if (opts->version) {
|
||||||
|
@ -574,26 +581,28 @@ mu_cmd_execute (MuConfig *opts, GError **err)
|
||||||
/* already handled in mu-config.c */
|
/* already handled in mu-config.c */
|
||||||
case MU_CONFIG_CMD_HELP: return MU_OK;
|
case MU_CONFIG_CMD_HELP: return MU_OK;
|
||||||
|
|
||||||
case MU_CONFIG_CMD_CFIND: return mu_cmd_cfind (opts, err);
|
case MU_CONFIG_CMD_CFIND: merr = mu_cmd_cfind (opts, err); break;
|
||||||
case MU_CONFIG_CMD_MKDIR: return mu_cmd_mkdir (opts, err);
|
case MU_CONFIG_CMD_MKDIR: merr = mu_cmd_mkdir (opts, err); break;
|
||||||
case MU_CONFIG_CMD_VIEW: return mu_cmd_view (opts, err);
|
case MU_CONFIG_CMD_VIEW: merr = mu_cmd_view (opts, err); break;
|
||||||
case MU_CONFIG_CMD_VERIFY: return mu_cmd_verify (opts, err);
|
case MU_CONFIG_CMD_VERIFY: merr = mu_cmd_verify (opts, err); break;
|
||||||
case MU_CONFIG_CMD_EXTRACT: return mu_cmd_extract (opts, err);
|
case MU_CONFIG_CMD_EXTRACT:merr = mu_cmd_extract (opts, err); break;
|
||||||
|
|
||||||
case MU_CONFIG_CMD_FIND:
|
case MU_CONFIG_CMD_FIND:
|
||||||
return with_store (mu_cmd_find, opts, TRUE, err);
|
merr = with_store (mu_cmd_find, opts, TRUE, err); break;
|
||||||
case MU_CONFIG_CMD_INDEX:
|
case MU_CONFIG_CMD_INDEX:
|
||||||
return with_store (mu_cmd_index, opts, FALSE, err);
|
merr = with_store (mu_cmd_index, opts, FALSE, err); break;
|
||||||
case MU_CONFIG_CMD_ADD:
|
case MU_CONFIG_CMD_ADD:
|
||||||
return with_store (mu_cmd_add, opts, FALSE, err);
|
merr = with_store (mu_cmd_add, opts, FALSE, err); break;
|
||||||
case MU_CONFIG_CMD_REMOVE:
|
case MU_CONFIG_CMD_REMOVE:
|
||||||
return with_store (mu_cmd_remove, opts, FALSE, err);
|
merr = with_store (mu_cmd_remove, opts, FALSE, err); break;
|
||||||
case MU_CONFIG_CMD_SERVER:
|
case MU_CONFIG_CMD_SERVER:
|
||||||
return with_store (mu_cmd_server, opts, FALSE, err);
|
merr = with_store (mu_cmd_server, opts, FALSE, err); break;
|
||||||
default:
|
default:
|
||||||
show_usage ();
|
show_usage ();
|
||||||
g_set_error (err, MU_ERROR_DOMAIN, MU_ERROR_IN_PARAMETERS,
|
mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS,
|
||||||
"unknown command '%s'", opts->cmdstr);
|
"unknown command '%s'", opts->cmdstr);
|
||||||
return MU_ERROR_IN_PARAMETERS;
|
return MU_ERROR_IN_PARAMETERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return merr;
|
||||||
}
|
}
|
||||||
|
|
19
mu/mu.cc
19
mu/mu.cc
|
@ -33,14 +33,16 @@
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
handle_error (GError *err)
|
handle_error (MuConfig *conf, GError *err)
|
||||||
{
|
{
|
||||||
const char *advise;
|
const char *advise;
|
||||||
|
char *dynadvise;
|
||||||
|
|
||||||
if (!err)
|
if (!err)
|
||||||
return; /* nothing to do */
|
return; /* nothing to do */
|
||||||
|
|
||||||
advise = NULL;
|
dynadvise = NULL;
|
||||||
|
advise = NULL;
|
||||||
|
|
||||||
switch (err->code) {
|
switch (err->code) {
|
||||||
|
|
||||||
|
@ -55,13 +57,22 @@ handle_error (GError *err)
|
||||||
case MU_ERROR_XAPIAN_IS_EMPTY:
|
case MU_ERROR_XAPIAN_IS_EMPTY:
|
||||||
advise = "please try 'mu index'";
|
advise = "please try 'mu index'";
|
||||||
break;
|
break;
|
||||||
|
case MU_ERROR_IN_PARAMETERS:
|
||||||
|
if (conf->cmd != MU_CONFIG_CMD_UNKNOWN)
|
||||||
|
dynadvise = g_strdup_printf ("see 'mu help %s'",
|
||||||
|
conf->cmdstr);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break; /* nothing to do */
|
break; /* nothing to do */
|
||||||
}
|
}
|
||||||
|
|
||||||
g_warning ("%s", err->message);
|
g_warning ("%s", err->message);
|
||||||
if (advise)
|
if (advise)
|
||||||
g_message ("%s", advise);
|
g_print ("%s\n", advise);
|
||||||
|
if (dynadvise) {
|
||||||
|
g_print ("%s\n", dynadvise);
|
||||||
|
g_free (dynadvise);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,7 +98,7 @@ main (int argc, char *argv[])
|
||||||
err = NULL;
|
err = NULL;
|
||||||
rv = mu_cmd_execute (conf, &err);
|
rv = mu_cmd_execute (conf, &err);
|
||||||
|
|
||||||
handle_error (err);
|
handle_error (conf, err);
|
||||||
g_clear_error (&err);
|
g_clear_error (&err);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue