diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -78,7 +78,7 @@ # # Extractor Process # -add_executable(baloo_filemetadata_temp_extractor extractor.cpp) +add_executable(baloo_filemetadata_temp_extractor extractor.cpp filemetadatautil.cpp) target_link_libraries(baloo_filemetadata_temp_extractor Qt5::Core KF5::I18n diff --git a/src/extractor.cpp b/src/extractor.cpp --- a/src/extractor.cpp +++ b/src/extractor.cpp @@ -20,6 +20,8 @@ * */ +#include "filemetadatautil_p.h" + #include #include #include @@ -30,7 +32,6 @@ #include #include #include -#include #include #include @@ -63,13 +64,7 @@ out.open(stdout, QIODevice::WriteOnly); QDataStream stream(&out); - QVariantMap map; - QMapIterator it(result.properties()); - while (it.hasNext()) { - it.next(); - KFileMetaData::PropertyInfo pi(it.key()); - map.insertMulti(pi.name(), it.value()); - } + QVariantMap map = Baloo::Private::toNamedVariantMap(result.properties()); stream << map; diff --git a/src/filefetchjob.cpp b/src/filefetchjob.cpp --- a/src/filefetchjob.cpp +++ b/src/filefetchjob.cpp @@ -25,7 +25,6 @@ #include #include -#include using namespace Baloo; @@ -40,25 +39,13 @@ QTimer::singleShot(0, this, SLOT(doStart())); } -static QVariantMap convertPropertyMap(const KFileMetaData::PropertyMap& propMap) -{ - QVariantMap map; - KFileMetaData::PropertyMap::const_iterator it = propMap.constBegin(); - for (; it != propMap.constEnd(); it++) { - KFileMetaData::PropertyInfo pi(it.key()); - map.insertMulti(pi.name(), it.value()); - } - - return map; -} - void FileFetchJob::doStart() { for (const QString& filePath : m_urls) { Baloo::File file(filePath); file.load(); - QVariantMap prop = convertPropertyMap(file.properties()); + QVariantMap prop = Baloo::Private::toNamedVariantMap(file.properties()); KFileMetaData::UserMetaData umd(filePath); QVariantMap attributes = Baloo::Private::convertUserMetaData(umd); diff --git a/src/filemetadatautil.cpp b/src/filemetadatautil.cpp --- a/src/filemetadatautil.cpp +++ b/src/filemetadatautil.cpp @@ -19,6 +19,7 @@ #include "filemetadatautil_p.h" #include +#include namespace Baloo { @@ -52,5 +53,17 @@ return properties; } +QVariantMap toNamedVariantMap(const KFileMetaData::PropertyMap& propMap) +{ + QVariantMap map; + KFileMetaData::PropertyMap::const_iterator it = propMap.constBegin(); + for (; it != propMap.constEnd(); it++) { + KFileMetaData::PropertyInfo pi(it.key()); + map.insertMulti(pi.name(), it.value()); + } + + return map; +} + } // namespace KFMPrivate } // namespace Baloo diff --git a/src/filemetadatautil_p.h b/src/filemetadatautil_p.h --- a/src/filemetadatautil_p.h +++ b/src/filemetadatautil_p.h @@ -18,6 +18,7 @@ *****************************************************************************/ #include +#include #include namespace Baloo @@ -32,5 +33,11 @@ */ QVariantMap convertUserMetaData(const KFileMetaData::UserMetaData& metaData); +/** + * Converts the property map into a variant map + * using the property name as key. + */ +QVariantMap toNamedVariantMap(const KFileMetaData::PropertyMap& propMap); + } // namespace Private } // namespace Baloo