50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
|
from typing import Any, Optional
|
||
|
|
||
|
from .main import (dotenv_values, find_dotenv, get_key, load_dotenv, set_key,
|
||
|
unset_key)
|
||
|
|
||
|
|
||
|
def load_ipython_extension(ipython: Any) -> None:
|
||
|
from .ipython import load_ipython_extension
|
||
|
load_ipython_extension(ipython)
|
||
|
|
||
|
|
||
|
def get_cli_string(
|
||
|
path: Optional[str] = None,
|
||
|
action: Optional[str] = None,
|
||
|
key: Optional[str] = None,
|
||
|
value: Optional[str] = None,
|
||
|
quote: Optional[str] = None,
|
||
|
):
|
||
|
"""Returns a string suitable for running as a shell script.
|
||
|
|
||
|
Useful for converting a arguments passed to a fabric task
|
||
|
to be passed to a `local` or `run` command.
|
||
|
"""
|
||
|
command = ['dotenv']
|
||
|
if quote:
|
||
|
command.append(f'-q {quote}')
|
||
|
if path:
|
||
|
command.append(f'-f {path}')
|
||
|
if action:
|
||
|
command.append(action)
|
||
|
if key:
|
||
|
command.append(key)
|
||
|
if value:
|
||
|
if ' ' in value:
|
||
|
command.append(f'"{value}"')
|
||
|
else:
|
||
|
command.append(value)
|
||
|
|
||
|
return ' '.join(command).strip()
|
||
|
|
||
|
|
||
|
__all__ = ['get_cli_string',
|
||
|
'load_dotenv',
|
||
|
'dotenv_values',
|
||
|
'get_key',
|
||
|
'set_key',
|
||
|
'unset_key',
|
||
|
'find_dotenv',
|
||
|
'load_ipython_extension']
|