X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fgimmick%2Fmain.cxx;h=3e13d8e101b073c1d4a5c3ac91f25137ce67290b;hb=79be5edd158476cd0f21d3146223594234ef06fc;hp=d90f0b8bcfa15f955261f571e2bef05c284c78d1;hpb=bae4df8a3e1ea669400c3a6c44ef4aa8d90fa1ed;p=creaImageIO.git diff --git a/appli/gimmick/main.cxx b/appli/gimmick/main.cxx index d90f0b8..3e13d8e 100644 --- a/appli/gimmick/main.cxx +++ b/appli/gimmick/main.cxx @@ -1,18 +1,52 @@ #include #include +#include int main(int argc, char* argv[]) { - bool debug = false; - if(argc>1) + gengetopt_args_info args; + if (cmdline_parser (argc, argv, &args) != 0) exit(1) ; + + creaImageIO::Gimmick g; + if (args.verbose_given) g.SetMessageLevel(args.verbose_arg); + if (args.debug_given) g.SetDebugMessageLevel(args.debug_arg); + + bool something_to_do = + args.dir_given | + args.file_given | + args.print_given; + + if (!something_to_do) { - debug = true; + std::cout << "Nothing to do !" << std::endl; + exit(0); } - creaImageIO::Gimmick g; - g.SetDebugMode(debug); - - if (!g.Initialize()) return 1; - if (!g.Finalize()) return 1; + std::string handler("Local database"); + try + { + g.Initialize(); + + if (args.file_given) + { + g.AddFile(handler,args.file_arg); + } + if (args.dir_given) + { + g.AddDir(handler,args.dir_arg, args.recurse_given); + } + + if (args.print_given) + { + g.GetTreeHandler(handler)->LoadChildren(0,0); + g.Print(handler); + } + + g.Finalize(); + } + catch (crea::Exception e) + { + e.Print(); + } return 0; }