HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
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",
]