ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ# coding: utf-8 # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT from __future__ import print_function from __future__ import division from __future__ import absolute_import import os from clselect.baseclselect import DISABLED_STATUS, ENABLED_STATUS from clselect.baseclselect.config import BaseSelectorConfig from . import ( CONFIG_DIR, create_config_dirs, ALT_PYTHON_PREFIX ) from clconfig.ui_config_lib import get_ui_config class PythonConfig(BaseSelectorConfig): """ It's responsible for all interaction with CL Python selector config file and computing some effective values when config is absent or incomplete """ _config_file = os.path.join(CONFIG_DIR, 'selector.json') def __init__(self, pkg_manager): """ :param pkg_manager: instance of PkgManager class """ super(PythonConfig, self).__init__(pkg_manager) self.reload() self.set_initial_selector_status() def _create_config_dirs(self): return create_config_dirs() @property def available_versions(self): """ Returns a dict with status of all installed alt-python versions :rtype: dict """ disabled = self.Cfg.disabled_versions or [] return { ver: { 'status': DISABLED_STATUS if ver in disabled else ENABLED_STATUS, 'base_dir': ALT_PYTHON_PREFIX + ''.join(ver.split('.')[:2]), } for ver in self.pkg.installed_versions } def set_initial_selector_status(self): """ Sets python selector flag selector_enabled from old selector flag hidePythonApp if it is still not set """ if self.Cfg.selector_enabled is not None: return try: old_config = get_ui_config() # hidePythonApp:True = disabled selector old_selector_status = not old_config['uiSettings']['hidePythonApp'] except KeyError: return self.Cfg.selector_enabled = old_selector_status self.save()