mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-06-12 22:45:32 +00:00
[cookies] Fix Linux desktop environment detection (#13197)
Closes #12885 Authored by: mbway
This commit is contained in:
parent
32ed5f107c
commit
e491fd4d09
@ -58,6 +58,14 @@ class TestCookies(unittest.TestCase):
|
|||||||
({'DESKTOP_SESSION': 'kde'}, _LinuxDesktopEnvironment.KDE3),
|
({'DESKTOP_SESSION': 'kde'}, _LinuxDesktopEnvironment.KDE3),
|
||||||
({'DESKTOP_SESSION': 'xfce'}, _LinuxDesktopEnvironment.XFCE),
|
({'DESKTOP_SESSION': 'xfce'}, _LinuxDesktopEnvironment.XFCE),
|
||||||
|
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'gnome'}, _LinuxDesktopEnvironment.GNOME),
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'mate'}, _LinuxDesktopEnvironment.GNOME),
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'kde4'}, _LinuxDesktopEnvironment.KDE4),
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'kde'}, _LinuxDesktopEnvironment.KDE3),
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'xfce'}, _LinuxDesktopEnvironment.XFCE),
|
||||||
|
|
||||||
|
({'XDG_CURRENT_DESKTOP': 'my_custom_de', 'DESKTOP_SESSION': 'my_custom_de', 'GNOME_DESKTOP_SESSION_ID': 1}, _LinuxDesktopEnvironment.GNOME),
|
||||||
|
|
||||||
({'GNOME_DESKTOP_SESSION_ID': 1}, _LinuxDesktopEnvironment.GNOME),
|
({'GNOME_DESKTOP_SESSION_ID': 1}, _LinuxDesktopEnvironment.GNOME),
|
||||||
({'KDE_FULL_SESSION': 1}, _LinuxDesktopEnvironment.KDE3),
|
({'KDE_FULL_SESSION': 1}, _LinuxDesktopEnvironment.KDE3),
|
||||||
({'KDE_FULL_SESSION': 1, 'DESKTOP_SESSION': 'kde4'}, _LinuxDesktopEnvironment.KDE4),
|
({'KDE_FULL_SESSION': 1, 'DESKTOP_SESSION': 'kde4'}, _LinuxDesktopEnvironment.KDE4),
|
||||||
|
@ -764,11 +764,11 @@ def _get_linux_desktop_environment(env, logger):
|
|||||||
GetDesktopEnvironment
|
GetDesktopEnvironment
|
||||||
"""
|
"""
|
||||||
xdg_current_desktop = env.get('XDG_CURRENT_DESKTOP', None)
|
xdg_current_desktop = env.get('XDG_CURRENT_DESKTOP', None)
|
||||||
desktop_session = env.get('DESKTOP_SESSION', None)
|
desktop_session = env.get('DESKTOP_SESSION', '')
|
||||||
if xdg_current_desktop is not None:
|
if xdg_current_desktop is not None:
|
||||||
for part in map(str.strip, xdg_current_desktop.split(':')):
|
for part in map(str.strip, xdg_current_desktop.split(':')):
|
||||||
if part == 'Unity':
|
if part == 'Unity':
|
||||||
if desktop_session is not None and 'gnome-fallback' in desktop_session:
|
if 'gnome-fallback' in desktop_session:
|
||||||
return _LinuxDesktopEnvironment.GNOME
|
return _LinuxDesktopEnvironment.GNOME
|
||||||
else:
|
else:
|
||||||
return _LinuxDesktopEnvironment.UNITY
|
return _LinuxDesktopEnvironment.UNITY
|
||||||
@ -797,35 +797,34 @@ def _get_linux_desktop_environment(env, logger):
|
|||||||
return _LinuxDesktopEnvironment.UKUI
|
return _LinuxDesktopEnvironment.UKUI
|
||||||
elif part == 'LXQt':
|
elif part == 'LXQt':
|
||||||
return _LinuxDesktopEnvironment.LXQT
|
return _LinuxDesktopEnvironment.LXQT
|
||||||
logger.info(f'XDG_CURRENT_DESKTOP is set to an unknown value: "{xdg_current_desktop}"')
|
logger.debug(f'XDG_CURRENT_DESKTOP is set to an unknown value: "{xdg_current_desktop}"')
|
||||||
|
|
||||||
elif desktop_session is not None:
|
if desktop_session == 'deepin':
|
||||||
if desktop_session == 'deepin':
|
return _LinuxDesktopEnvironment.DEEPIN
|
||||||
return _LinuxDesktopEnvironment.DEEPIN
|
elif desktop_session in ('mate', 'gnome'):
|
||||||
elif desktop_session in ('mate', 'gnome'):
|
return _LinuxDesktopEnvironment.GNOME
|
||||||
return _LinuxDesktopEnvironment.GNOME
|
elif desktop_session in ('kde4', 'kde-plasma'):
|
||||||
elif desktop_session in ('kde4', 'kde-plasma'):
|
return _LinuxDesktopEnvironment.KDE4
|
||||||
|
elif desktop_session == 'kde':
|
||||||
|
if 'KDE_SESSION_VERSION' in env:
|
||||||
return _LinuxDesktopEnvironment.KDE4
|
return _LinuxDesktopEnvironment.KDE4
|
||||||
elif desktop_session == 'kde':
|
|
||||||
if 'KDE_SESSION_VERSION' in env:
|
|
||||||
return _LinuxDesktopEnvironment.KDE4
|
|
||||||
else:
|
|
||||||
return _LinuxDesktopEnvironment.KDE3
|
|
||||||
elif 'xfce' in desktop_session or desktop_session == 'xubuntu':
|
|
||||||
return _LinuxDesktopEnvironment.XFCE
|
|
||||||
elif desktop_session == 'ukui':
|
|
||||||
return _LinuxDesktopEnvironment.UKUI
|
|
||||||
else:
|
else:
|
||||||
logger.info(f'DESKTOP_SESSION is set to an unknown value: "{desktop_session}"')
|
return _LinuxDesktopEnvironment.KDE3
|
||||||
|
elif 'xfce' in desktop_session or desktop_session == 'xubuntu':
|
||||||
|
return _LinuxDesktopEnvironment.XFCE
|
||||||
|
elif desktop_session == 'ukui':
|
||||||
|
return _LinuxDesktopEnvironment.UKUI
|
||||||
else:
|
else:
|
||||||
if 'GNOME_DESKTOP_SESSION_ID' in env:
|
logger.debug(f'DESKTOP_SESSION is set to an unknown value: "{desktop_session}"')
|
||||||
return _LinuxDesktopEnvironment.GNOME
|
|
||||||
elif 'KDE_FULL_SESSION' in env:
|
if 'GNOME_DESKTOP_SESSION_ID' in env:
|
||||||
if 'KDE_SESSION_VERSION' in env:
|
return _LinuxDesktopEnvironment.GNOME
|
||||||
return _LinuxDesktopEnvironment.KDE4
|
elif 'KDE_FULL_SESSION' in env:
|
||||||
else:
|
if 'KDE_SESSION_VERSION' in env:
|
||||||
return _LinuxDesktopEnvironment.KDE3
|
return _LinuxDesktopEnvironment.KDE4
|
||||||
|
else:
|
||||||
|
return _LinuxDesktopEnvironment.KDE3
|
||||||
|
|
||||||
return _LinuxDesktopEnvironment.OTHER
|
return _LinuxDesktopEnvironment.OTHER
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user