From: zacheiss Date: Thu, 16 Aug 2001 21:31:42 +0000 (+0000) Subject: Add option for unformatted output (one field per line, in X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/commitdiff_plain/7b6a099a8b28bc899aab70bcddb9822ee870c52a Add option for unformatted output (one field per line, in fieldname: value format) --- diff --git a/clients/stella/stella.c b/clients/stella/stella.c index d24da0fb..2c7f3ee3 100644 --- a/clients/stella/stella.c +++ b/clients/stella/stella.c @@ -51,7 +51,7 @@ struct string_list { /* flags from command line */ int info_flag, update_flag, create_flag, delete_flag, list_map_flag; int update_alias_flag, update_map_flag, verbose, noauth; -int list_container_flag, update_container_flag; +int list_container_flag, update_container_flag, unformatted_flag; struct string_list *alias_add_queue, *alias_remove_queue; struct string_list *map_add_queue, *map_remove_queue; @@ -67,6 +67,7 @@ struct owner_type *owner; void usage(char **argv); int store_host_info(int argc, char **argv, void *hint); void show_host_info(char **argv); +void show_host_info_unformatted(char **argv); int show_machine_in_cluster(int argc, char **argv, void *hint); int show_machine_in_container(int argc, char **argv, void *hint); struct owner_type *parse_member(char *s); @@ -275,6 +276,8 @@ int main(int argc, char **argv) } else if (argis("lcn", "listcontainer")) list_container_flag++; + else if (argis("u", "unformatted")) + unformatted_flag++; else if (argis("n", "noauth")) noauth++; else if (argis("v", "verbose")) @@ -641,7 +644,10 @@ int main(int argc, char **argv) com_err(whoami, status, "while getting host information"); exit(1); } - show_host_info(argv); + if (unformatted_flag) + show_host_info_unformatted(argv); + else + show_host_info(argv); } /* list cluster mappings if needed */ @@ -719,9 +725,10 @@ void usage(char **argv) "-dcn | -deletecontainer container"); fprintf(stderr, USAGE_OPTIONS_FORMAT, "-lm | -listmap", "-lcn | -listcontainer"); - fprintf(stderr, USAGE_OPTIONS_FORMAT, "-v | -verbose", - "-n | -noauth"); - fprintf(stderr, " %-39s\n" , "-db | -database host[:port]"); + fprintf(stderr, USAGE_OPTIONS_FORMAT, "-u | -unformatted", + "-v | -verbose"); + fprintf(stderr, USAGE_OPTIONS_FORMAT, "-n | -noauth", + "-db | -database host[:port]"); exit(1); } @@ -739,6 +746,16 @@ int show_alias_info(int argc, char **argv, void *hint) return MR_CONT; } +int show_alias_info_unformatted(int argc, char **argv, void *hint) +{ + if(!show_has_aliases++) + printf("Alias: %s", argv[0]); + else + printf(", %s", argv[0]); + + return MR_CONT; +} + static char *states[] = { "Reserved (0)", "Active (1)", @@ -812,6 +829,46 @@ void show_host_info(char **argv) printf("Last mod by %s at %s with %s.\n", argv[M_MODBY], argv[M_MODTIME], argv[M_MODWITH]); } +void show_host_info_unformatted(char **argv) +{ + char tbuf[256]; + char *args[3]; + struct mqelem *elem = NULL; + int stat; + + printf("Machine: %s\n", argv[M_NAME]); + args[0] = "*"; + args[1] = argv[M_NAME]; + show_has_aliases = 0; + stat = wrap_mr_query("get_hostalias", 2, args, show_alias_info_unformatted, + &elem); + if (stat && stat != MR_NO_MATCH) + com_err(whoami, stat, "while getting aliases"); + else + printf("\n"); + printf("Address: %s\n", argv[M_ADDR]); + printf("Network: %s\n", argv[M_SUBNET]); + printf("Owner Type: %s\n", argv[M_OWNER_TYPE]); + printf("Owner: %s\n", argv[M_OWNER_NAME]); + printf("Status: %s\n", MacState(atoi(argv[M_STAT]))); + printf("Changed: %s\n", argv[M_STAT_CHNG]); + printf("Use data: %s\n", argv[M_INUSE]); + printf("Vendor: %s\n", argv[M_VENDOR]); + printf("Model: %s\n", argv[M_MODEL]); + printf("OS: %s\n", argv[M_OS]); + printf("Location: %s\n", argv[M_LOC]); + printf("Contact: %s\n", argv[M_CONTACT]); + printf("Billing Contact: %s\n", argv[M_BILL_CONTACT]); + printf("Opt: %s\n", argv[M_USE]); + printf("Adm cmt: %s\n", argv[M_ACOMMENT]); + printf("Op cmt: %s\n", argv[M_OCOMMENT]); + printf("Created by: %s\n", argv[M_CREATOR]); + printf("Created on: %s\n", argv[M_CREATED]); + printf("Last mod by: %s\n", argv[M_MODBY]); + printf("Last mod on: %s\n", argv[M_MODTIME]); + printf("Last mod with: %s\n", argv[M_MODWITH]); +} + int show_machine_in_cluster(int argc, char **argv, void *hint) { printf("Machine: %-30s Cluster: %-30s\n", argv[0], argv[1]);