示例#1
0
void import_json(hashdb::import_manager_t& manager,
                 progress_tracker_t& progress_tracker,
                 std::istream& in) {
  std::string line;
  size_t line_number = 0;
  while(getline(in, line)) {
    ++line_number;

    // skip comment lines
    if (line[0] == '#') {
      continue;
    }

    // skip empty lines
    if (line.size() == 0) {
      continue;
    }

    // import JSON
    std::string error_message = manager.import_json(line);
    if (error_message.size() != 0) {
      std::cerr << "Invalid line " << line_number
                << " error: " << error_message
                << ": '" << line << "'\n";
    } else {
      progress_tracker.track();
    }
  }
}