summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Dirolf <mike@10gen.com>2009-06-25 16:15:15 -0400
committerMike Dirolf <mike@10gen.com>2009-06-25 16:15:15 -0400
commitc8c17ed3ebde1d5f46ee0c3924b3a60b4d91c7a4 (patch)
tree73bb0324fd9ddfff815d2f924c67e3c22625199f
parentefe8911ecce9328f278eda08ade4577c852b6dad (diff)
downloadmongo-c8c17ed3ebde1d5f46ee0c3924b3a60b4d91c7a4.tar.gz
print help if you don't give a namespace
-rw-r--r--tools/Tool.cpp8
-rw-r--r--tools/Tool.h2
-rw-r--r--tools/export.cpp9
3 files changed, 16 insertions, 3 deletions
diff --git a/tools/Tool.cpp b/tools/Tool.cpp
index f7fb36b6996..82ed79686ea 100644
--- a/tools/Tool.cpp
+++ b/tools/Tool.cpp
@@ -34,6 +34,11 @@ mongo::Tool::~Tool(){
void mongo::Tool::printExtraHelp( ostream & out ){
}
+void mongo::Tool::printHelp(ostream &out) {
+ _options->print(out);
+ printExtraHelp(out);
+}
+
int mongo::Tool::main( int argc , char ** argv ){
boost::filesystem::path::default_name_check( boost::filesystem::no_check );
@@ -44,8 +49,7 @@ int mongo::Tool::main( int argc , char ** argv ){
po::notify( _params );
if ( _params.count( "help" ) ){
- _options->print( cerr );
- printExtraHelp( cerr );
+ printHelp(cerr);
return 0;
}
diff --git a/tools/Tool.h b/tools/Tool.h
index 0ad4742b45d..7f23e6554dd 100644
--- a/tools/Tool.h
+++ b/tools/Tool.h
@@ -50,6 +50,8 @@ namespace mongo {
virtual int run() = 0;
+ virtual void printHelp(ostream &out);
+
virtual void printExtraHelp( ostream & out );
protected:
diff --git a/tools/export.cpp b/tools/export.cpp
index 5e88201e109..dc50eff9d48 100644
--- a/tools/export.cpp
+++ b/tools/export.cpp
@@ -44,7 +44,7 @@ public:
}
int run(){
- const string ns = getNS();
+ string ns;
const bool csv = hasParam( "csv" );
ostream *outPtr = &cout;
string outfile = getParam( "out" );
@@ -57,6 +57,13 @@ public:
vector<string> fields;
+ try {
+ ns = getNS();
+ } catch (...) {
+ printHelp(cerr);
+ return 1;
+ }
+
if ( hasParam( "fields" ) ){
BSONObjBuilder b;