There is a use case where we would want to add information to existing SDC statement. Normally this happens when corresponding Wikidata-item is added after SDC-entry has been added to Commons.
If a statement exists there are three approaches:
1. don't add qualifiers that already exist to avoid duplicates -> error from pywikibot
"AttributeError: 'NoneType' object has no attribute 'entity_type'" -> can't add only missing information to send
2. set qualifiers to pywikibot but don't "add" them -> partial information in SDC
- there is a duplicate statement with only the new information under it and older is unmodified
3. set all information to statement as normally
- there is a complete duplicate statement along with the older partial statement, which remains unmodified
None of these is ideal (first foremost since it doesn't even complete). Removing existing claim might be potential approach, but increases risks of something going wrong (also didn't test it).
If server was "smart" it could combine when sending partial information, but potentially client-side needs something more to tell exactly which claim the new qualifier belongs to. For example, file may be found in different servers with different quality or with some modifications in either one and marking them as sources for commons needs some care to be correct.
Which approach should be taken when adding missing information to an existing entry?