[common] improve 'user-agent' override logic

Prevent a general 'user-agent' setting, i.e. extractor.user-agent, from
overriding the User-Agent header set by an extractor's 'browser'
option, default or otherwise, meaning only extractor-level or top-level
'user-agent' settings will override the 'browser' User-Agent.

https://github.com/mikf/gallery-dl/issues/7382#issuecomment-2985296321
This commit is contained in:
Mike Fährmann
2025-06-19 18:58:39 +02:00
parent 6d7ca4890f
commit a80d55d974

View File

@@ -446,7 +446,7 @@ class Extractor():
pass
elif custom_ua == "browser":
headers["User-Agent"] = _browser_useragent()
elif self.useragent is Extractor.useragent or \
elif self.useragent is Extractor.useragent and not self.browser or \
custom_ua is not config.get(("extractor",), "user-agent"):
headers["User-Agent"] = custom_ua