addon-sdk/source/bin/activate.ps1

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 # This Source Code Form is subject to the terms of the Mozilla Public
     2 # License, v. 2.0. If a copy of the MPL was not distributed with this
     3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     5 $Env:VIRTUAL_ENV = (gl);
     6 $Env:CUDDLEFISH_ROOT = $Env:VIRTUAL_ENV;
     8 # http://stackoverflow.com/questions/5648931/powershell-test-if-registry-value-exists/5652674#5652674
     9 Function Test-RegistryValue {
    10     param(
    11         [Alias("PSPath")]
    12         [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
    13         [String]$Path
    14         ,
    15         [Parameter(Position = 1, Mandatory = $true)]
    16         [String]$Name
    17         ,
    18         [Switch]$PassThru
    19     ) 
    21     process {
    22         if (Test-Path $Path) {
    23             $Key = Get-Item -LiteralPath $Path
    24             if ($Key.GetValue($Name, $null) -ne $null) {
    25                 if ($PassThru) {
    26                     Get-ItemProperty $Path $Name
    27                 } else {
    28                     $true
    29                 }
    30             } else {
    31                 $false
    32             }
    33         } else {
    34             $false
    35         }
    36     }
    37 }
    39 $WINCURVERKEY = 'HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion';
    40 $WIN64 = (Test-RegistryValue $WINCURVERKEY 'ProgramFilesDir (x86)');
    42 if($WIN64) { 
    43     $PYTHONKEY='HKLM:SOFTWARE\Wow6432Node\Python\PythonCore';
    44 }
    45 else {
    46     $PYTHONKEY='HKLM:SOFTWARE\Python\PythonCore';
    47 }
    49 $Env:PYTHONVERSION = '';
    50 $Env:PYTHONINSTALL = '';
    52 foreach ($version in @('2.6', '2.5', '2.4')) {
    53     if (Test-RegistryValue "$PYTHONKEY\$version\InstallPath" '(default)') { 
    54         $Env:PYTHONVERSION = $version;
    55     }
    56 }
    58 if ($Env:PYTHONVERSION) { 
    59     $Env:PYTHONINSTALL = (Get-Item "$PYTHONKEY\$version\InstallPath)").'(default)';
    60 }
    62 if ($Env:PYTHONINSTALL) { 
    63     $Env:Path += ";$Env:PYTHONINSTALL";
    64 }
    66 if (Test-Path Env:_OLD_PYTHONPATH) { 
    67     $Env:PYTHONPATH = $Env:_OLD_PYTHONPATH;
    68 }
    69 else {
    70     $Env:PYTHONPATH = '';
    71 }
    73 $Env:_OLD_PYTHONPATH=$Env:PYTHONPATH;
    74 $Env:PYTHONPATH= "$Env:VIRTUAL_ENV\python-lib;$Env:PYTHONPATH";
    76 if (Test-Path Function:_OLD_VIRTUAL_PROMPT) {
    77     Set-Content Function:Prompt (Get-Content Function:_OLD_VIRTUAL_PROMPT);
    78 }
    79 else {
    80     function global:_OLD_VIRTUAL_PROMPT {}
    81 }
    83 Set-Content Function:_OLD_VIRTUAL_PROMPT (Get-Content Function:Prompt);
    85 function global:prompt { "($Env:VIRTUAL_ENV) $(_OLD_VIRTUAL_PROMPT)"; };
    87 if (Test-Path Env:_OLD_VIRTUAL_PATH) {
    88     $Env:PATH = $Env:_OLD_VIRTUAL_PATH;
    89 }
    90 else {
    91     $Env:_OLD_VIRTUAL_PATH = $Env:PATH;
    92 }
    94 $Env:Path="$Env:VIRTUAL_ENV\bin;$Env:Path"
    96 [System.Console]::WriteLine("Note: this PowerShell SDK activation script is experimental.")
    98 python -c "from jetpack_sdk_env import welcome; welcome()"

mercurial