File: //opt/saltstack/salt/lib/python3.10/site-packages/virtualenv/activation/powershell/__init__.py
from __future__ import annotations
from typing import TYPE_CHECKING
from virtualenv.activation.via_template import ViaTemplateActivator
if TYPE_CHECKING:
from collections.abc import Iterator
class PowerShellActivator(ViaTemplateActivator):
def templates(self) -> Iterator[str]:
yield "activate.ps1"
@staticmethod
def quote(string: str) -> str:
"""This should satisfy PowerShell quoting rules [1], unless the quoted string is passed directly to Windows native commands [2].
[1]: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules
[2]:
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-that-contain-quote-characters
"""
string = string.replace("'", "''")
return f"'{string}'"
__all__ = [
"PowerShellActivator",
]