1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/addon-sdk/source/bin/activate.ps1 Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,99 @@ 1.4 +# This Source Code Form is subject to the terms of the Mozilla Public 1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.7 + 1.8 +$Env:VIRTUAL_ENV = (gl); 1.9 +$Env:CUDDLEFISH_ROOT = $Env:VIRTUAL_ENV; 1.10 + 1.11 +# http://stackoverflow.com/questions/5648931/powershell-test-if-registry-value-exists/5652674#5652674 1.12 +Function Test-RegistryValue { 1.13 + param( 1.14 + [Alias("PSPath")] 1.15 + [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 1.16 + [String]$Path 1.17 + , 1.18 + [Parameter(Position = 1, Mandatory = $true)] 1.19 + [String]$Name 1.20 + , 1.21 + [Switch]$PassThru 1.22 + ) 1.23 + 1.24 + process { 1.25 + if (Test-Path $Path) { 1.26 + $Key = Get-Item -LiteralPath $Path 1.27 + if ($Key.GetValue($Name, $null) -ne $null) { 1.28 + if ($PassThru) { 1.29 + Get-ItemProperty $Path $Name 1.30 + } else { 1.31 + $true 1.32 + } 1.33 + } else { 1.34 + $false 1.35 + } 1.36 + } else { 1.37 + $false 1.38 + } 1.39 + } 1.40 +} 1.41 + 1.42 +$WINCURVERKEY = 'HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion'; 1.43 +$WIN64 = (Test-RegistryValue $WINCURVERKEY 'ProgramFilesDir (x86)'); 1.44 + 1.45 +if($WIN64) { 1.46 + $PYTHONKEY='HKLM:SOFTWARE\Wow6432Node\Python\PythonCore'; 1.47 +} 1.48 +else { 1.49 + $PYTHONKEY='HKLM:SOFTWARE\Python\PythonCore'; 1.50 +} 1.51 + 1.52 +$Env:PYTHONVERSION = ''; 1.53 +$Env:PYTHONINSTALL = ''; 1.54 + 1.55 +foreach ($version in @('2.6', '2.5', '2.4')) { 1.56 + if (Test-RegistryValue "$PYTHONKEY\$version\InstallPath" '(default)') { 1.57 + $Env:PYTHONVERSION = $version; 1.58 + } 1.59 +} 1.60 + 1.61 +if ($Env:PYTHONVERSION) { 1.62 + $Env:PYTHONINSTALL = (Get-Item "$PYTHONKEY\$version\InstallPath)").'(default)'; 1.63 +} 1.64 + 1.65 +if ($Env:PYTHONINSTALL) { 1.66 + $Env:Path += ";$Env:PYTHONINSTALL"; 1.67 +} 1.68 + 1.69 +if (Test-Path Env:_OLD_PYTHONPATH) { 1.70 + $Env:PYTHONPATH = $Env:_OLD_PYTHONPATH; 1.71 +} 1.72 +else { 1.73 + $Env:PYTHONPATH = ''; 1.74 +} 1.75 + 1.76 +$Env:_OLD_PYTHONPATH=$Env:PYTHONPATH; 1.77 +$Env:PYTHONPATH= "$Env:VIRTUAL_ENV\python-lib;$Env:PYTHONPATH"; 1.78 + 1.79 +if (Test-Path Function:_OLD_VIRTUAL_PROMPT) { 1.80 + Set-Content Function:Prompt (Get-Content Function:_OLD_VIRTUAL_PROMPT); 1.81 +} 1.82 +else { 1.83 + function global:_OLD_VIRTUAL_PROMPT {} 1.84 +} 1.85 + 1.86 +Set-Content Function:_OLD_VIRTUAL_PROMPT (Get-Content Function:Prompt); 1.87 + 1.88 +function global:prompt { "($Env:VIRTUAL_ENV) $(_OLD_VIRTUAL_PROMPT)"; }; 1.89 + 1.90 +if (Test-Path Env:_OLD_VIRTUAL_PATH) { 1.91 + $Env:PATH = $Env:_OLD_VIRTUAL_PATH; 1.92 +} 1.93 +else { 1.94 + $Env:_OLD_VIRTUAL_PATH = $Env:PATH; 1.95 +} 1.96 + 1.97 +$Env:Path="$Env:VIRTUAL_ENV\bin;$Env:Path" 1.98 + 1.99 +[System.Console]::WriteLine("Note: this PowerShell SDK activation script is experimental.") 1.100 + 1.101 +python -c "from jetpack_sdk_env import welcome; welcome()" 1.102 +