3
0
Fork 0

+ add the --verbose|-v option to kiwix-index

small_fixes
kelson42 15 years ago
parent b9bce81060
commit c0587a0854

@ -1,31 +1,73 @@
#include <getopt.h>
#include <unistd.h>
#include <kiwix/indexer.h>
int main(int argc, char **argv) {
/* Check if we have enough arguments */
if (argc < 3) {
cout << "Usage: kiwix-index ZIM_PATH INDEX_PATH" << endl;
void usage() {
cout << "Usage: kiwix-index [--verbose|-v] ZIM_PATH INDEX_PATH" << endl;
exit(1);
}
}
int main(int argc, char **argv) {
/* Init the variables */
char *zimFilePath = argv[1];
char *xapianDirectoryPath = argv[2];
char *zimFilePath = NULL;
char *xapianDirectoryPath = NULL;
bool verboseFlag = false;
int option_index = 0;
kiwix::Indexer *indexer = NULL;
/* Argument parsing */
while (42) {
static struct option long_options[] = {
{"verbose", no_argument, 0, 'v'},
{0, 0, 0, 0}
};
int c = getopt_long(argc, argv, "v", long_options, &option_index);
if (c != -1) {
switch (c) {
case 'v':
verboseFlag = true;
break;
}
} else {
if (optind + option_index < argc) {
if (zimFilePath == NULL) {
zimFilePath = argv[optind + option_index];
} else if (xapianDirectoryPath == NULL) {
xapianDirectoryPath = argv[optind + option_index];
} else {
usage();
}
} else {
break;
}
option_index++;
}
}
/* Check if we have enough arguments */
if (zimFilePath == NULL || xapianDirectoryPath == NULL) {
usage();
}
/* Try to prepare the indexing */
try {
indexer = new kiwix::Indexer(zimFilePath, xapianDirectoryPath);
} catch (...) {
cout << "Unable to index '" << zimFilePath << "'." << endl;
cerr << "Unable to index '" << zimFilePath << "'." << endl;
exit(1);
}
/* Start the indexing */
if (indexer != NULL) {
while (indexer->indexNextPercent()) {};
while (indexer->indexNextPercent(verboseFlag)) {};
} else {
cout << "Unable instanciate the Kiwix indexer." << endl;
cerr << "Unable instanciate the Kiwix indexer." << endl;
exit(1);
}

Loading…
Cancel
Save