addon-sdk/source/bin/activate.ps1

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:29c40d25f3e7
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/.
4
5 $Env:VIRTUAL_ENV = (gl);
6 $Env:CUDDLEFISH_ROOT = $Env:VIRTUAL_ENV;
7
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 )
20
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 }
38
39 $WINCURVERKEY = 'HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion';
40 $WIN64 = (Test-RegistryValue $WINCURVERKEY 'ProgramFilesDir (x86)');
41
42 if($WIN64) {
43 $PYTHONKEY='HKLM:SOFTWARE\Wow6432Node\Python\PythonCore';
44 }
45 else {
46 $PYTHONKEY='HKLM:SOFTWARE\Python\PythonCore';
47 }
48
49 $Env:PYTHONVERSION = '';
50 $Env:PYTHONINSTALL = '';
51
52 foreach ($version in @('2.6', '2.5', '2.4')) {
53 if (Test-RegistryValue "$PYTHONKEY\$version\InstallPath" '(default)') {
54 $Env:PYTHONVERSION = $version;
55 }
56 }
57
58 if ($Env:PYTHONVERSION) {
59 $Env:PYTHONINSTALL = (Get-Item "$PYTHONKEY\$version\InstallPath)").'(default)';
60 }
61
62 if ($Env:PYTHONINSTALL) {
63 $Env:Path += ";$Env:PYTHONINSTALL";
64 }
65
66 if (Test-Path Env:_OLD_PYTHONPATH) {
67 $Env:PYTHONPATH = $Env:_OLD_PYTHONPATH;
68 }
69 else {
70 $Env:PYTHONPATH = '';
71 }
72
73 $Env:_OLD_PYTHONPATH=$Env:PYTHONPATH;
74 $Env:PYTHONPATH= "$Env:VIRTUAL_ENV\python-lib;$Env:PYTHONPATH";
75
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 }
82
83 Set-Content Function:_OLD_VIRTUAL_PROMPT (Get-Content Function:Prompt);
84
85 function global:prompt { "($Env:VIRTUAL_ENV) $(_OLD_VIRTUAL_PROMPT)"; };
86
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 }
93
94 $Env:Path="$Env:VIRTUAL_ENV\bin;$Env:Path"
95
96 [System.Console]::WriteLine("Note: this PowerShell SDK activation script is experimental.")
97
98 python -c "from jetpack_sdk_env import welcome; welcome()"
99

mercurial