mgallien added a comment.
Sorry for being so late. In D10694#215663 <https://phabricator.kde.org/D10694#215663>, @michaelh wrote: > @mgallien : taglibextractor.cpp is very hard to read. Hopefully it is no longer. INLINE COMMENTS > michaelh wrote in epubextractor.cpp:94 > Did you mean something like this?: > > const auto& values = fetchMetadata(ePubDoc, EPUB_SUBJECT); > for (auto& value : values) { > result->add(Property::Subject, value); > } > > It fails the test (of course). It it unclear to me how to handle > `result.properties().value(Property::Subject)` and there is no example in the > tests. They all compare against `QVariant::Type::String`. Do you have an > example from elisa? Elisa code is not properly handling this case. When writing it, I had not understood that. Thanks to your diff, I have now properly read the code and I should go modify Elisa code. In general, you can use canConvert<the type>() from QVariant. This should allow to handle both cases. You can probably always convert to a string list QVariant::toStringList. It should be enough for properties with one string or a list of strings. REPOSITORY R286 KFileMetaData REVISION DETAIL https://phabricator.kde.org/D10694 To: michaelh, mgallien, dfaure Cc: #frameworks, ashaposhnikov, michaelh, spoorun, navarromorales, isidorov, nicolasfella, firef, andrebarros, alexeymin, emmanuelp