diff --git a/src/main.cpp b/src/main.cpp index 0abec27..ee6e52f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -80,32 +80,34 @@ namespace { } void load_from_commandline (const boost::program_options::variables_map& parVarMap, duck::XPathPtr xpath) { + using std::string; + const auto& vm = parVarMap; - const auto url = vm["input-url"].as(); + const auto url = vm["input-url"].as(); duck::HtmlPool html_pool( - std::string(parVarMap["agent"].as()), - std::string(parVarMap["from-code"].as()) + string(parVarMap["agent"].as()), + string(parVarMap["from-code"].as()) ); const auto in_html_id = html_pool.GetOrAdd(url); - std::string html = *html_pool.GetByID(in_html_id); + string html = *html_pool.GetByID(in_html_id); if (vm.count("dump")) { - dump_string(vm["dump"].as(), html); + dump_string(vm["dump"].as(), html); } - const std::string xpath_str = parVarMap["xpath"].as(); + const string xpath_str = parVarMap["xpath"].as(); #if !defined(NDEBUG) std::cout << " -- XPath direct mode --\n"; - std::cout << "URL : " << parVarMap["input-url"].as() << "\n"; + std::cout << "URL : " << parVarMap["input-url"].as() << "\n"; std::cout << "XPath: " << xpath_str << std::endl; - std::cout << "Agent: " << parVarMap["agent"].as() << std::endl; + std::cout << "Agent: " << parVarMap["agent"].as() << std::endl; #endif - std::vector queries; + std::vector queries; queries.reserve(1); queries.push_back(std::move(xpath_str)); - auto results = xpath->run_query(html, queries, parVarMap["namespace"].as()); + auto results = xpath->run_query(html, queries, parVarMap["namespace"].as()); for (const auto& lst : results[0]) { std::cout << lst.first << ": " << lst.second << '\n'; } @@ -117,21 +119,21 @@ namespace { #if !defined(NDEBUG) std::cout << " -- XPath model mode --\n"; if (parVarMap.count("input-url")) - std::cout << "URL : " << parVarMap["input-url"].as() << "\n"; - std::cout << "Model: " << parVarMap["model"].as() << std::endl; - std::cout << "Agent: " << parVarMap["agent"].as() << std::endl; + std::cout << "URL : " << parVarMap["input-url"].as() << "\n"; + std::cout << "Model: " << parVarMap["model"].as() << std::endl; + std::cout << "Agent: " << parVarMap["agent"].as() << std::endl; #endif - const std::string script = duck::read_all(parVarMap["model"].as()); + const string script = duck::read_all(parVarMap["model"].as()); auto ast = duck::sl::parse(script); duck::HtmlPool html_pool( - std::string(parVarMap["agent"].as()), - std::string(parVarMap["from-code"].as()) + string(parVarMap["agent"].as()), + string(parVarMap["from-code"].as()) ); duck::sl::apply(ast, duck::sl::HtmlPoolBaseSP(&html_pool), xpath, string(parVarMap["namespace"].as())); //auto list = duck::get_xpath_definitions(*ast); - //std::vector expressions; + //std::vector expressions; //expressions.reserve(list.size()); //for (duck::element_def& elem : list) { // expressions.push_back(std::move(elem.xpath));