HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/LanguageSelector/__pycache__/LanguageSelector.cpython-38.pyc
U

ڀR]��@s�ddlmZddlmZddlZe�dde�ddlZddlZddlZddl	Z	ddl
mZddlZ
ddlTddl
mZGd	d
�d
e�Zedkr�edd
�Ze�ej���ee���dS)�)�print_function)�absolute_importN�ignorezapt API not stable yet)�
LocaleInfo)�*)�macrosc@sReZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�LanguageSelectorBasez' base class for language-selector code �cCs||_td|j�|_d|_dS)NZlanguagelist)�_datadirr�_localeinfo�_cache)�self�datadir�r�C/usr/lib/python3/dist-packages/LanguageSelector/LanguageSelector.py�__init__szLanguageSelectorBase.__init__cCstj�|j|�|_dS)N)�LanguageSelectorZ	LangCacheZLanguageSelectorPkgCacherr)r
�progressrrr�	openCache szLanguageSelectorBase.openCachecCsP|jr$t�|jtj�|jdd��}nt�|j�}g}|��D]}|�|�q<|S)zh
        return a list of language packs that are not installed
        but should be installed
        �dataZpkg_depends)	r
�language_support_pkgsZLanguageSupportr�os�path�join�missing�append)r
ZlsrZpackrrr�getMissingLangPacks#s�z(LanguageSelectorBase.getMissingLangPackscCs0t��}|�dd�}tj|dd�}|�|�dS)�1 write various LC_* variables (e.g. de_DE.UTF-8) �com.ubuntu.LanguageSelector�/�Zdbus_interfaceN)�dbus�	SystemBus�
get_object�	InterfaceZSetSystemDefaultFormatsEnv)r
Z
sysFormats�bus�obj�ifacerrr�writeSysFormatsSetting2sz+LanguageSelectorBase.writeSysFormatsSettingcCs0t��}|�dd�}tj|dd�}|�|�dS)z2 write the system "LANGUAGE" and "LANG" variables rrr N)r!r"r#r$ZSetSystemDefaultLanguageEnv)r
ZsysLanguager%r&r'rrr�writeSysLanguageSetting9sz,LanguageSelectorBase.writeSysLanguageSettingcCsnt��}|dkr(t�dt�d��dSt��}|�dd|�}tj|dd�}t	�
|j|�}|�|d	�dS)
rrz&No formats locale saved for user '%s'.�USERN�org.freedesktop.Accounts� /org/freedesktop/Accounts/User%i�org.freedesktop.Accounts.Userr Z	SYSLOCALE)
r�getuid�warnings�warn�getenvr!r"r#r$rZLangpackMacrosr
ZSetFormatsLocale)r
ZuserFormats�uidr%r&r'Zmacrrrr�writeUserFormatsSetting@s�z,LanguageSelectorBase.writeUserFormatsSettingcCsbt��}|dkr(t�dt�d��dSt��}|�dd|�}tj|dd�}|�	|�
|��dS)	z0 write the user "LANGUAGE" and "LANG" variables rz No language saved for user '%s'.r*Nr+r,r-r )rr.r/r0r1r!r"r#r$ZSetLanguage�validateLangList)r
�userLanguager2r%r&r'rrr�writeUserLanguageSettingMs�z-LanguageSelectorBase.writeUserLanguageSettingcCs�g}d}|�d�D]P}|dkr2|�ddg�qdq|�d�sD|dkrT|�|�d}q|s|�|�qd�|�}||kr�t�d�|S)zN
        remove elements which can be assumed to cause user confusion
        F�:Zen_USZenZen_Tz.The language list was modified by the program.)�split�extend�
startswithrrr/r0)r
r5ZtmpZis_engZlangZvalidatedLangListrrrr4Ys


z%LanguageSelectorBase.validateLangListN)r	)�__name__�
__module__�__qualname__�__doc__rrrr(r)r3r6r4rrrrrs

r�__main__z..)r)Z
__future__rrr/�filterwarnings�
FutureWarningZaptr!rrZLanguageSelector.LocaleInforZLanguageSelector.LangCacherZLanguageSelector.utilsr�objectrr;ZlsbrrZ
OpProgress�printZverifyPackageListsrrrr�<module>s W