1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2024-11-25 00:53:43 +00:00

Move split_tags to core.

This commit is contained in:
King_DuckZ 2016-07-10 17:12:19 +01:00
parent 4bd7c3515a
commit f12d498e40
8 changed files with 17 additions and 15 deletions

View file

@ -23,9 +23,9 @@
#include <boost/utility/string_ref.hpp> #include <boost/utility/string_ref.hpp>
#include "helpers/compatibility.h" #include "helpers/compatibility.h"
namespace dinlib { namespace dincore {
std::vector<boost::string_ref> split_and_trim ( const std::string& parList, char parSeparator ) a_pure; std::vector<boost::string_ref> split_and_trim ( const std::string& parList, char parSeparator ) a_pure;
std::vector<boost::string_ref> split_tags ( const std::string& parCommaSeparatedList ) a_pure; std::vector<boost::string_ref> split_tags ( const std::string& parCommaSeparatedList ) a_pure;
} //namespace dinlib } //namespace dincore
#endif #endif

View file

@ -8,7 +8,6 @@ add_library(${PROJECT_NAME}
validationerror.cpp validationerror.cpp
common_info.cpp common_info.cpp
readline_wrapper.cpp readline_wrapper.cpp
split_tags.cpp
) )
target_include_directories(${PROJECT_NAME} target_include_directories(${PROJECT_NAME}

View file

@ -16,7 +16,7 @@
*/ */
#include "dindexer-common/settings.hpp" #include "dindexer-common/settings.hpp"
#include "dindexer-common/split_tags.hpp" #include "dindexer-core/split_tags.hpp"
#include "dindexer-core/searchpaths.hpp" #include "dindexer-core/searchpaths.hpp"
#include "dindexerConfig.h" #include "dindexerConfig.h"
#include <yaml-cpp/yaml.h> #include <yaml-cpp/yaml.h>
@ -35,6 +35,8 @@ namespace dinlib {
} //unnamed namespace } //unnamed namespace
void load_settings (const std::string& parPath, dinlib::Settings& parOut, bool parExpand) { void load_settings (const std::string& parPath, dinlib::Settings& parOut, bool parExpand) {
using dincore::split_and_trim;
const std::string path = (parExpand ? expand(parPath.c_str()) : parPath); const std::string path = (parExpand ? expand(parPath.c_str()) : parPath);
std::string search_paths; std::string search_paths;

View file

@ -2,6 +2,7 @@ project(${bare_name}-core CXX)
add_library(${PROJECT_NAME} SHARED add_library(${PROJECT_NAME} SHARED
searchpaths.cpp searchpaths.cpp
split_tags.cpp
) )
target_link_libraries(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME}

View file

@ -15,7 +15,7 @@
* along with "dindexer". If not, see <http://www.gnu.org/licenses/>. * along with "dindexer". If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "dindexer-common/split_tags.hpp" #include "dindexer-core/split_tags.hpp"
#include <boost/algorithm/string/finder.hpp> #include <boost/algorithm/string/finder.hpp>
#include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/trim.hpp> #include <boost/algorithm/string/trim.hpp>
@ -24,7 +24,7 @@
#include <boost/range/adaptor/filtered.hpp> #include <boost/range/adaptor/filtered.hpp>
#include <ciso646> #include <ciso646>
namespace dinlib { namespace dincore {
std::vector<boost::string_ref> split_tags (const std::string& parCommaSeparatedList) { std::vector<boost::string_ref> split_tags (const std::string& parCommaSeparatedList) {
return split_and_trim(parCommaSeparatedList, ','); return split_and_trim(parCommaSeparatedList, ',');
} }
@ -52,4 +52,4 @@ namespace dinlib {
filtered([](const string_ref& r){return not r.empty();}) filtered([](const string_ref& r){return not r.empty();})
); );
} }
} //namespace dinlib } //namespace dincore

View file

@ -17,7 +17,7 @@
#include "commandline.hpp" #include "commandline.hpp"
#include "dindexer-common/settings.hpp" #include "dindexer-common/settings.hpp"
#include "dindexer-common/split_tags.hpp" #include "dindexer-core/split_tags.hpp"
#include "dindexerConfig.h" #include "dindexerConfig.h"
#include "hash.hpp" #include "hash.hpp"
#include "glob2regex/glob2regex.hpp" #include "glob2regex/glob2regex.hpp"
@ -47,7 +47,7 @@ namespace {
if (not parVM.count("tags")) if (not parVM.count("tags"))
return std::vector<boost::string_ref>(); return std::vector<boost::string_ref>();
else else
return dinlib::split_tags(parVM["tags"].as<std::string>()); return dincore::split_tags(parVM["tags"].as<std::string>());
} }
} //unnamed namespace } //unnamed namespace

View file

@ -18,7 +18,7 @@
#include "commandline.hpp" #include "commandline.hpp"
#include "dindexer-common/settings.hpp" #include "dindexer-common/settings.hpp"
#include "dindexerConfig.h" #include "dindexerConfig.h"
#include "dindexer-common/split_tags.hpp" #include "dindexer-core/split_tags.hpp"
#include "glob2regex/glob2regex.hpp" #include "glob2regex/glob2regex.hpp"
#include "enum.h" #include "enum.h"
#include <iostream> #include <iostream>
@ -62,7 +62,7 @@ namespace {
switch (parMode) { switch (parMode) {
case TaggingMode::ID: case TaggingMode::ID:
{ {
auto ids_string = dinlib::split_tags(parVM["ids"].as<std::string>()); auto ids_string = dincore::split_tags(parVM["ids"].as<std::string>());
std::vector<uint64_t> ids; std::vector<uint64_t> ids;
ids.reserve(ids_string.size()); ids.reserve(ids_string.size());
std::transform(ids_string.begin(), ids_string.end(), std::back_inserter(ids), &lexical_cast<uint64_t, string_ref>); std::transform(ids_string.begin(), ids_string.end(), std::back_inserter(ids), &lexical_cast<uint64_t, string_ref>);
@ -92,7 +92,7 @@ namespace {
switch (parMode) { switch (parMode) {
case TaggingMode::ID: case TaggingMode::ID:
{ {
auto ids_string = dinlib::split_tags(parVM["ids"].as<std::string>()); auto ids_string = dincore::split_tags(parVM["ids"].as<std::string>());
std::vector<uint64_t> ids; std::vector<uint64_t> ids;
ids.reserve(ids_string.size()); ids.reserve(ids_string.size());
std::transform(ids_string.begin(), ids_string.end(), std::back_inserter(ids), &lexical_cast<uint64_t, string_ref>); std::transform(ids_string.begin(), ids_string.end(), std::back_inserter(ids), &lexical_cast<uint64_t, string_ref>);
@ -157,7 +157,7 @@ int main (int parArgc, char* parArgv[]) {
} }
const auto master_tags_string = vm["tags"].as<std::string>(); const auto master_tags_string = vm["tags"].as<std::string>();
const std::vector<boost::string_ref> tags = dinlib::split_tags(master_tags_string); const std::vector<boost::string_ref> tags = dincore::split_tags(master_tags_string);
const auto mode = (glob_mode ? TaggingMode::Glob : TaggingMode::ID); const auto mode = (glob_mode ? TaggingMode::Glob : TaggingMode::ID);
if (not vm.count("delete")) if (not vm.count("delete"))

View file

@ -18,10 +18,10 @@
#include <gtest/gtest.h> #include <gtest/gtest.h>
#include <sstream> #include <sstream>
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
#include "dindexer-common/split_tags.hpp" #include "dindexer-core/split_tags.hpp"
TEST(cli_main, split_tags) { TEST(cli_main, split_tags) {
using dinlib::split_tags; using dincore::split_tags;
{ {
const std::string test_tags = "tag1,tag2"; const std::string test_tags = "tag1,tag2";