1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2024-11-29 01:33:46 +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 "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_tags ( const std::string& parCommaSeparatedList ) a_pure;
} //namespace dinlib
} //namespace dincore
#endif

View file

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

View file

@ -16,7 +16,7 @@
*/
#include "dindexer-common/settings.hpp"
#include "dindexer-common/split_tags.hpp"
#include "dindexer-core/split_tags.hpp"
#include "dindexer-core/searchpaths.hpp"
#include "dindexerConfig.h"
#include <yaml-cpp/yaml.h>
@ -35,6 +35,8 @@ namespace dinlib {
} //unnamed namespace
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);
std::string search_paths;

View file

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

View file

@ -15,7 +15,7 @@
* 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/split.hpp>
#include <boost/algorithm/string/trim.hpp>
@ -24,7 +24,7 @@
#include <boost/range/adaptor/filtered.hpp>
#include <ciso646>
namespace dinlib {
namespace dincore {
std::vector<boost::string_ref> split_tags (const std::string& parCommaSeparatedList) {
return split_and_trim(parCommaSeparatedList, ',');
}
@ -52,4 +52,4 @@ namespace dinlib {
filtered([](const string_ref& r){return not r.empty();})
);
}
} //namespace dinlib
} //namespace dincore

View file

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

View file

@ -18,7 +18,7 @@
#include "commandline.hpp"
#include "dindexer-common/settings.hpp"
#include "dindexerConfig.h"
#include "dindexer-common/split_tags.hpp"
#include "dindexer-core/split_tags.hpp"
#include "glob2regex/glob2regex.hpp"
#include "enum.h"
#include <iostream>
@ -62,7 +62,7 @@ namespace {
switch (parMode) {
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;
ids.reserve(ids_string.size());
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) {
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;
ids.reserve(ids_string.size());
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 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);
if (not vm.count("delete"))

View file

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