예제 #1
0
    def _sanitize(self, signal):
        name, value = signal.setting, signal.value
        if name == 'column_ratios':
            # TODO: cover more cases here
            if isinstance(value, tuple):
                signal.value = list(value)
            if not isinstance(value, list) or len(value) < 2:
                signal.value = [1, 1]
            else:
                signal.value = [
                    int(i) if str(i).isdigit() else 1 for i in value
                ]

        elif name == 'colorscheme':
            _colorscheme_name_to_class(signal)

        elif name == 'preview_script':
            if isinstance(value, str):
                result = os.path.expanduser(value)
                if os.path.exists(result):
                    signal.value = result
                else:
                    self.fm.notify(
                        "Preview script `{0}` doesn't exist!".format(result),
                        bad=True)
                    signal.value = None

        elif name == 'use_preview_script':
            if self._settings.get(
                    'preview_script') is None and value and self.fm.ui.is_on:
                self.fm.notify("Preview script undefined or not found!",
                               bad=True)
예제 #2
0
    def _sanitize(self, signal):
        name, value = signal.setting, signal.value
        if name == 'column_ratios':
            # TODO: cover more cases here
            if isinstance(value, tuple):
                signal.value = list(value)
            if not isinstance(value, list) or len(value) < 2:
                signal.value = [1, 1]
            else:
                signal.value = [int(i) if str(i).isdigit() else 1 \
                        for i in value]

        elif name == 'colorscheme':
            _colorscheme_name_to_class(signal)

        elif name == 'preview_script':
            if isinstance(value, str):
                result = os.path.expanduser(value)
                if os.path.exists(result):
                    signal.value = result
                else:
                    signal.value = None

        elif name == 'use_preview_script':
            if self._settings['preview_script'] is None and value \
                    and self.fm.ui.is_on:
                self.fm.notify("Preview script undefined or not found!",
                        bad=True)
예제 #3
0
파일: settings.py 프로젝트: quite/ranger
    def _sanitize(self, name, value):
        if name == 'column_ratios':
            # TODO: cover more cases here
            if isinstance(value, tuple):
                return list(value)
            if not isinstance(value, list) or len(value) < 2:
                return [1, 1]
            else:
                return [int(i) if str(i).isdigit() else 1 for i in value]

        elif name == 'colorscheme':
            signal = Signal(value=value, previous="Penis", fm=self.fm)
            _colorscheme_name_to_class(signal)
            return signal.value

        elif name == 'preview_script':
            if isinstance(value, str):
                result = os.path.expanduser(value)
                if os.path.exists(result):
                    return result
                return None

        elif name == 'use_preview_script':
            if self._settings['preview_script'] is None and value \
                    and self.fm.ui.is_on:
                self.fm.notify("Preview script undefined or not found!",
                        bad=True)

        # fallback:
        return value