add getopt() parsing to parser.cc

This commit is contained in:
Ashik K 2023-04-04 14:10:13 +02:00
parent 306a2c1cc8
commit 7c6d4f60f3
1 changed files with 19 additions and 5 deletions

View File

@ -1,6 +1,9 @@
#include <rapidjson/document.h> #include <rapidjson/document.h>
#include <rapidjson/filereadstream.h> #include <rapidjson/filereadstream.h>
#include <unistd.h>
#include <cstdlib>
#include <algorithm> #include <algorithm>
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
@ -14,17 +17,28 @@ std::string yearstr(int year) {
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int c;
bool download_mode =false; bool download_mode =false;
if (argc == 2) { int numfiles = 0;
std::string arg1 = argv[1]; while ((c = getopt (argc, argv, "d:n:")) != -1)
download_mode = arg1=="--download"; switch(c)
} {
case 'd': // download mode
download_mode = true;
break;
case 'n': // number of records
numfiles = atoi(optarg);
break;
default:
break;
}
char filename[64]; char filename[64];
snprintf(filename, sizeof filename, "out.csv"); snprintf(filename, sizeof filename, "out.csv");
std::ofstream out_file1; std::ofstream out_file1;
out_file1.open(filename); out_file1.open(filename);
out_file1<<"id, Caption/title, production start year, end year, Description, Item url, Image Source, image_filename, subjects, date published, collection name, museum name, exif_model, exif_iso, exif_focallength, exif_exposuretime, exif_aperture, exif_datetimeoriginal, liceses\n"; out_file1<<"id, Caption/title, production start year, end year, Description, Item url, Image Source, image_filename, subjects, date published, collection name, museum name, exif_model, exif_iso, exif_focallength, exif_exposuretime, exif_aperture, exif_datetimeoriginal, liceses\n";
for (auto i = 0; i<4; i++) { for (auto i = 0; i<numfiles; i++) {
char in_file_i[64]; char in_file_i[64];
snprintf(in_file_i, sizeof in_file_i, "data_%d.json", i); snprintf(in_file_i, sizeof in_file_i, "data_%d.json", i);
// Open the file // Open the file