Pular para conteúdo

Helpers

ln_cli.commands

Helper para o projeto com funções que podem ser utilizadas nos comandos.

Attributes:

Name Type Description
packages dict[str, list[str]]

Um dicionario com pacotes padrões para instalação nos projetos.

INSTALL_COMMANDS dict[str, Callable[[str], list[str]]]

Um dicionario com comandos para instalação de pacotes via gerenciador de pacotes.

COMMANDS_TYPES dict[str, dict[str, str]]

Um dicionario com clis e suas definições de uso para linux.

Como importar para o projeto:

from ln_cli.commands import INSTALL_COMMANDS

>>> INSTALL_COMMANDS
{'apt': lambda pkg: ['sudo', 'apt', 'install', pkg], 'dnf': lambda pkg: ['sudo', 'dnf', 'install', pkg], 'pacman': lambda pkg: ['sudo', 'pacman', '-S', pkg],}

install_packages(packages, name)

Instala pacotes via poetry.

Parameters:

Name Type Description Default
packages list[str]

Pacotes que serão instalados.

required
name str

Nome da pasta onde está o projeto.

required

Returns:

Type Description
None

A função adiciona os pacotes ao projeto e nao retorna None.

Examples:

>>> install_packages(['fastapi', 'sqlalchemy'], 'nova_api')
Source code in ln_cli/commands/__init__.py
def install_packages(packages: list[str], name: str) -> None:
    """
    Instala pacotes via poetry.

    Parameters:
        packages: Pacotes que serão instalados.
        name: Nome da pasta onde está o projeto.

    Returns:
        A função adiciona os pacotes ao projeto e nao retorna None.

    Examples:
        >>> install_packages(['fastapi', 'sqlalchemy'], 'nova_api')
    """
    subprocess.run(['poetry', 'add', *packages], cwd=name)

install_packages_dev(packages, name)

Instala pacotes de desenvolvimento via poetry.

Parameters:

Name Type Description Default
packages list[str]

Pacotes que serão instalados.

required
name str

Nome da pasta onde está o projeto.

required

Returns:

Type Description
None

A função adiciona os pacotes ao projeto e nao retorna None.

Examples:

>>> install_packages_dev(['ruff', 'taskipy'], 'nova_api')
Source code in ln_cli/commands/__init__.py
def install_packages_dev(packages: list[str], name: str) -> None:
    """
    Instala pacotes de desenvolvimento via poetry.

    Parameters:
        packages: Pacotes que serão instalados.
        name: Nome da pasta onde está o projeto.

    Returns:
        A função adiciona os pacotes ao projeto e nao retorna None.

    Examples:
        >>> install_packages_dev(['ruff', 'taskipy'], 'nova_api')
    """
    subprocess.run(['poetry', 'add', '--group', 'dev', *packages], cwd=name)

get_package_manager()

Verifica qual gerenciador de pacotes está instalado no sistema.

Returns:

Type Description
None | str

A função retorna uma string com o nome do gerenciador ou None

Examples:

>>> get_package_manager()
'dnf'

Nota

Cada sistema vai retornar um valor está função

Source code in ln_cli/commands/__init__.py
def get_package_manager() -> None | str:
    """
    Verifica qual gerenciador de pacotes está instalado no sistema.

    Returns:
        A função retorna uma string com o nome do gerenciador ou None

    Examples:
        >>> get_package_manager()
        'dnf'

    !!!Nota
        Cada sistema vai retornar um valor está função
    """
    if shutil.which('apt'):
        return 'apt'
    if shutil.which('dnf'):
        return 'dnf'
    if shutil.which('pacman'):
        return 'pacman'
    return None