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:
parent
4bd7c3515a
commit
f12d498e40
8 changed files with 17 additions and 15 deletions
|
@ -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
|
|
@ -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}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
|
@ -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";
|
||||||
|
|
Loading…
Reference in a new issue