inmulti arguments where evaluated before inmulti was executed, which
resulted in strings being passed as arguments, which breaks cases in which
the strings in multivalue variables contain the separator used to separate
multiple values (see PICARD-922).
This commit changes the behaviour of inmulti so arguments are not evaluated
before they're passed, so it can extract the argument value as a list and
work with that.
This should fix PICARD-922
This patch adds https support, so users can drag covers from amazon.
Also fixes the imgurl query handling so users can drag covers from
google images thumbnails (but large resolution images will be downloaded).
It also adds support for dropped octet-stream data, so chromium users
can drag "opened" images from google images even if the link actually
points to the url containing the image, since chromium adds the
image data to the drop event. Unfortunately, firefox doesn't do that,
so firefox users will have to drag thumbnails (but the same large
resolution image will be used in any case)
If you are loading a lot of albums and have a long queue of releases
being looked up, then the xmlws request for Search for similar albums...
is queued behind them.
This commit runs these request as priority=True important=True which
means that they will run as the very next xmlws.
Calling it unclustered in the UI will help users to realise that
they need to Cluster files, and in debug messages helps to
distinguish between Unclustered files just loaded, and an album
with Unmatched files.
Since the code now always forces HTTPS (ie., port 443) connections to
MUSICBRAINZ_SERVERS, having port set to 80 means that the interface
shows musicbrainz.org:80 as the default, while it will actually be
connecting to musicbrainz.org:443. So this change makes the interface
more consistent with what is actually going on.
See discussion from and onwards:
https://github.com/metabrainz/picard/pull/600#issuecomment-275917095
Since 8ebe83b69e, query arguments should not be
added to the path, but passed as a separate argument to the HTTP method methods
on the web service object. Do so in submit_ratings.
Resolves [PICARD-958](https://tickets.metabrainz.org/browse/PICARD-958).
When dir or file names contain unicode characters and debug logging is on, then debug.log statements which use %s placeholders cause the following error:
```
Traceback (most recent call last):
File ".\picard\tagger.py", line 315, in event
event.run()
File ".\picard\util\thread.py", line 34, in run
self.func(*self.args, **self.kwargs)
File ".\picard\log.py", line 116, in _stderr_receiver
sys.stderr.write(formatted_log_line(level, time, msg + os.linesep))
File "C:\Program Files (x86)\Python2\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2010' in position 77: character maps to <undefined>
```