D19087: Add standalone conversion functions for PropertyMap to Json and vice versa
    Stefan BrĂ¼ns 
    noreply at phabricator.kde.org
       
    Sat Mar 30 17:16:47 GMT 2019
    
    
  
bruns added a comment.
  In D19087#440361 <https://phabricator.kde.org/D19087#440361>, @astippich wrote:
  
  > This still alters the map during deserialization. Lists are converted into multi single properties afterwards. As I said, due to backwards-compatibility lists should stay lists.
  
  
  
  
  1. No extractor inserts lists, just single values.
  2. Extractors are allowed and do insert different values for the same property.
  
  -> Lists do not exists as property values. Supporting lists were a new feature.
  
  Both SimpleExtractionResult::properties() (used by the temp extractor) and Baloo::File::properties() return a KFileMetadata::PropertyMap, and it seems only logical both behave likewise. SimpleExtractionResult::properties() already returns the properties one by one, now Baloo::File::properties() does the same.
  
  The current behavior of the Baloo serialization (and thus the deserialization result) is illogical - when you insert a single value, you get back a single non-list QVariant, when inserting multiple values, this is silently converted to a QVariantList. The return type depends on the number of values. The SimpleExtractionResult behavior is consistent - `PropertyMap::find()` returns the first value, `PropertyMap::values()`returns all values, independent on the number of values.
  
  Given the choice between an inconsistent and illogical behavior on one hand, and consistent and logical on the other, I definitely prefer the second one.
REPOSITORY
  R293 Baloo
REVISION DETAIL
  https://phabricator.kde.org/D19087
To: bruns, #baloo, #frameworks, ngraham, poboiko, astippich
Cc: kde-frameworks-devel, gennad, domson, ashaposhnikov, michaelh, astippich, spoorun, ngraham, bruns, abrahams
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190330/1f769a55/attachment.html>
    
    
More information about the Kde-frameworks-devel
mailing list