%PDF- %PDF-
Direktori : /lib/python3/dist-packages/nala/ |
Current File : //lib/python3/dist-packages/nala/__init__.py |
# __ # ____ _____ | | _____ # / \\__ \ | | \__ \ # | | \/ __ \| |__/ __ \_ # |___| (____ /____(____ / # \/ \/ \/ # # Copyright (C) 2021, 2022 Blake Lee # # This file is part of nala # # nala is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # nala is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with nala. If not, see <https://www.gnu.org/licenses/>. """Nala package manager.""" from __future__ import annotations import sys # Set Path as below for termux environment # ROOT = "@TERMUX_PREFIX@" # USR = "@TERMUX_PREFIX@" # TERMUX = True ROOT = "" USR = "/usr" TERMUX = False # Before we import anything else we need to make sure that this is in our path # Else apt_pkg will give an import error. Conda is an example of this breaking # pylint: disable=wrong-import-position PY_PATH = f"{USR}/lib/python3/dist-packages" if PY_PATH not in sys.path: sys.path.append(PY_PATH) import gettext import apt_pkg from rich.console import Console if "APT" not in apt_pkg.config: apt_pkg.init_config() apt_pkg.init_system() __version__ = "0.11.1" console = Console() COLOR_CODES: dict[str, str | int] = { "RESET": "\x1b[0m", "ITALIC": "\x1b[3m", "RED": 31, "GREEN": 32, #'YELLOW' : 33, # We set Yellow as more of an orange for light terminals. "YELLOW": "38;5;202", "BLUE": 34, "MAGENTA": 35, "CYAN": 36, "WHITE": 37, } def color(text: object, text_color: str = "") -> str: """Return bold text in the color of your choice.""" if not console.is_terminal or console.is_dumb_terminal: return f"{text}" if not text_color: # Just return bolded text return f"\x1b[1m{text}{COLOR_CODES['RESET']}" # Return bolded choice of color return f"\x1b[1;{COLOR_CODES[text_color]}m{text}{COLOR_CODES['RESET']}" def color_version(version: str) -> str: """Color version number.""" if not console.is_terminal or console.is_dumb_terminal: return f"({version})" return f"{color('(')}{color(version, 'BLUE')}{color(')')}" translate = gettext.translation("nala", fallback=True) def _(msg: str) -> str: """Gettext translator.""" return msg if console.options.ascii_only else translate.gettext(msg)