homebridge-kasa-python 2.8.0-beta.9 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/config.schema.json +28 -3
- package/dist/config.d.ts +2 -0
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/devices/deviceManager.d.ts +1 -0
- package/dist/devices/deviceManager.js +3 -0
- package/dist/devices/deviceManager.js.map +1 -1
- package/dist/devices/homekitPlug.js +33 -5
- package/dist/devices/homekitPlug.js.map +1 -1
- package/dist/devices/homekitPowerStrip.js +33 -5
- package/dist/devices/homekitPowerStrip.js.map +1 -1
- package/dist/devices/kasaDevices.d.ts +14 -3
- package/dist/devices/kasaDevices.js +2 -0
- package/dist/devices/kasaDevices.js.map +1 -1
- package/dist/platform.d.ts +1 -2
- package/dist/platform.js +7 -7
- package/dist/platform.js.map +1 -1
- package/dist/python/kasaApi.py +33 -4
- package/dist/python/pythonChecker.d.ts +4 -6
- package/dist/python/pythonChecker.js +87 -102
- package/dist/python/pythonChecker.js.map +1 -1
- package/package.json +13 -9
- package/dist/python/pythonHome.py +0 -3
package/dist/platform.js
CHANGED
|
@@ -19,7 +19,7 @@ export default class KasaPythonPlatform {
|
|
|
19
19
|
offlineAccessories = new Map();
|
|
20
20
|
Service;
|
|
21
21
|
storagePath;
|
|
22
|
-
venvPythonExecutable;
|
|
22
|
+
venvPythonExecutable = '';
|
|
23
23
|
config;
|
|
24
24
|
deviceManager;
|
|
25
25
|
isShuttingDown = false;
|
|
@@ -27,7 +27,6 @@ export default class KasaPythonPlatform {
|
|
|
27
27
|
periodicDeviceDiscoveryEmitter;
|
|
28
28
|
port = 0;
|
|
29
29
|
taskQueue;
|
|
30
|
-
userPath = '';
|
|
31
30
|
homekitDevicesById = new Map();
|
|
32
31
|
hideHomeKitMatter = true;
|
|
33
32
|
isUpgrade = false;
|
|
@@ -39,7 +38,6 @@ export default class KasaPythonPlatform {
|
|
|
39
38
|
this.Service = this.api.hap.Service;
|
|
40
39
|
this.Characteristic = this.api.hap.Characteristic;
|
|
41
40
|
this.storagePath = this.api.user.storagePath();
|
|
42
|
-
this.venvPythonExecutable = path.join(this.storagePath, 'kasa-python', '.venv', 'bin', 'python3');
|
|
43
41
|
this.config = parseConfig(config);
|
|
44
42
|
this.periodicDeviceDiscoveryEmitter = new EventEmitter();
|
|
45
43
|
this.taskQueue = new TaskQueue(this.log);
|
|
@@ -123,11 +121,13 @@ export default class KasaPythonPlatform {
|
|
|
123
121
|
this.log.debug(`Node.js version ${process.version} satisfies the requirement ${packageConfig.engines.node}`);
|
|
124
122
|
}
|
|
125
123
|
this.log.debug('Checking Homebridge version');
|
|
126
|
-
if (this.api.versionGreaterOrEqual &&
|
|
127
|
-
|
|
124
|
+
if (this.api.versionGreaterOrEqual &&
|
|
125
|
+
!(this.api.versionGreaterOrEqual('1.11.0') ||
|
|
126
|
+
this.api.versionGreaterOrEqual('2.0.0'))) {
|
|
127
|
+
throw new Error(`homebridge-kasa-python requires Homebridge ^1.11.0 || ^2.0. Currently running: ${this.api.serverVersion}`);
|
|
128
128
|
}
|
|
129
129
|
else {
|
|
130
|
-
this.log.debug(`Homebridge version ${this.api.serverVersion} satisfies the requirement
|
|
130
|
+
this.log.debug(`Homebridge version ${this.api.serverVersion} satisfies the requirement ^1.11.0 || ^2.0.0`);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
catch (error) {
|
|
@@ -319,7 +319,7 @@ export default class KasaPythonPlatform {
|
|
|
319
319
|
this.hideHomeKitMatter = this.config.homekitOptions.hideHomeKitMatter;
|
|
320
320
|
this.log.debug('Starting Kasa API with script:', scriptPath);
|
|
321
321
|
try {
|
|
322
|
-
const [, , , kasaProcessInstance] = await runCommand(this.log, this.venvPythonExecutable, [scriptPath, this.port.toString(), this.hideHomeKitMatter.toString()],
|
|
322
|
+
const [, , , kasaProcessInstance] = await runCommand(this.log, this.venvPythonExecutable, [scriptPath, this.port.toString(), this.hideHomeKitMatter.toString()], undefined, this.config.advancedOptions.advancedPythonLogging ? false : true, this.config.advancedOptions.advancedPythonLogging ? false : true, true);
|
|
323
323
|
this.kasaProcess = kasaProcessInstance;
|
|
324
324
|
this.log.debug('Kasa API process started successfully');
|
|
325
325
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/python/kasaApi.py
CHANGED
|
@@ -67,11 +67,14 @@ def serialize_child(child: Device) -> Dict[str, Any]:
|
|
|
67
67
|
"state": child.features["state"].value,
|
|
68
68
|
}
|
|
69
69
|
light_module = child.modules.get(Module.Light)
|
|
70
|
+
fan_module = child.modules.get(Module.Fan)
|
|
71
|
+
energy_module = child.modules.get(Module.Energy)
|
|
70
72
|
if light_module:
|
|
71
73
|
child_info.update(get_light_info(child))
|
|
72
|
-
fan_module = child.modules.get(Module.Fan)
|
|
73
74
|
if fan_module:
|
|
74
75
|
child_info.update({"fan_speed_level": fan_module.fan_speed_level})
|
|
76
|
+
if energy_module:
|
|
77
|
+
child_info.update(get_energy_info(child))
|
|
75
78
|
return child_info
|
|
76
79
|
|
|
77
80
|
def get_light_info(device: Device) -> Dict[str, Any]:
|
|
@@ -92,6 +95,20 @@ def get_light_info(device: Device) -> Dict[str, Any]:
|
|
|
92
95
|
light_info["hsv"] = {"hue": hue, "saturation": saturation}
|
|
93
96
|
return light_info
|
|
94
97
|
|
|
98
|
+
def get_energy_info(device: Device) -> Dict[str, Any]:
|
|
99
|
+
log("Getting energy info for device", alias=device.alias)
|
|
100
|
+
energy_module = device.modules.get(Module.Energy)
|
|
101
|
+
energy_fields = (
|
|
102
|
+
("current", "current"),
|
|
103
|
+
("voltage", "voltage"),
|
|
104
|
+
("power", "current_consumption"),
|
|
105
|
+
("total", "consumption_total"),
|
|
106
|
+
("today", "consumption_today"),
|
|
107
|
+
("month", "consumption_this_month"),
|
|
108
|
+
)
|
|
109
|
+
energy_dict = {key: getattr(energy_module, attr) for key, attr in energy_fields}
|
|
110
|
+
return {"energy": energy_dict}
|
|
111
|
+
|
|
95
112
|
def custom_serializer(device: Device) -> Dict[str, Any]:
|
|
96
113
|
log("Serializing device", host=device.host, alias=device.alias)
|
|
97
114
|
child_num = len(device.children) if device.children else 0
|
|
@@ -108,6 +125,7 @@ def custom_serializer(device: Device) -> Dict[str, Any]:
|
|
|
108
125
|
}
|
|
109
126
|
light_module = device.modules.get(Module.Light)
|
|
110
127
|
fan_module = device.modules.get(Module.Fan)
|
|
128
|
+
energy_module = device.modules.get(Module.Energy)
|
|
111
129
|
if child_num > 0:
|
|
112
130
|
sys_info["children"] = [serialize_child(child) for child in device.children]
|
|
113
131
|
else:
|
|
@@ -116,11 +134,14 @@ def custom_serializer(device: Device) -> Dict[str, Any]:
|
|
|
116
134
|
sys_info.update(get_light_info(device))
|
|
117
135
|
if fan_module:
|
|
118
136
|
sys_info.update({"fan_speed_level": fan_module.fan_speed_level})
|
|
137
|
+
if energy_module:
|
|
138
|
+
sys_info.update(get_energy_info(device))
|
|
119
139
|
feature_info = {
|
|
120
140
|
"brightness": False,
|
|
121
141
|
"color_temp": False,
|
|
122
|
-
"
|
|
142
|
+
"energy": False,
|
|
123
143
|
"fan": False,
|
|
144
|
+
"hsv": False,
|
|
124
145
|
}
|
|
125
146
|
if light_module:
|
|
126
147
|
feature_info.update({
|
|
@@ -130,6 +151,8 @@ def custom_serializer(device: Device) -> Dict[str, Any]:
|
|
|
130
151
|
})
|
|
131
152
|
if fan_module:
|
|
132
153
|
feature_info.update({"fan": True})
|
|
154
|
+
if energy_module:
|
|
155
|
+
feature_info.update({"energy": True})
|
|
133
156
|
return {"sys_info": sys_info, "feature_info": feature_info}
|
|
134
157
|
|
|
135
158
|
async def discover_devices(
|
|
@@ -138,6 +161,7 @@ async def discover_devices(
|
|
|
138
161
|
additional_broadcasts: Optional[List[str]] = None,
|
|
139
162
|
manual_devices: Optional[List[str]] = None,
|
|
140
163
|
exclude_mac_addresses: Optional[List[str]] = None,
|
|
164
|
+
include_mac_addresses: Optional[List[str]] = None,
|
|
141
165
|
) -> None:
|
|
142
166
|
broadcasts = ["255.255.255.255"] + (additional_broadcasts or [])
|
|
143
167
|
credentials = Credentials(username, password) if username and password else None
|
|
@@ -163,7 +187,11 @@ async def discover_devices(
|
|
|
163
187
|
|
|
164
188
|
async def process_device(device: Device) -> Optional[Dict[str, Any]]:
|
|
165
189
|
log("Processing device", host=device.host, alias=device.alias)
|
|
166
|
-
if device.mac in
|
|
190
|
+
if include_mac_addresses and device.mac not in include_mac_addresses:
|
|
191
|
+
log("Excluding device due to MAC address inclusion", host=device.host, alias=device.alias)
|
|
192
|
+
await safe_disconnect(device)
|
|
193
|
+
return None
|
|
194
|
+
if exclude_mac_addresses and device.mac in exclude_mac_addresses:
|
|
167
195
|
log("Excluding device due to MAC address exclusion", host=device.host, alias=device.alias)
|
|
168
196
|
await safe_disconnect(device)
|
|
169
197
|
return None
|
|
@@ -377,8 +405,9 @@ async def discover_route():
|
|
|
377
405
|
additional_broadcasts = data.get('additionalBroadcasts', [])
|
|
378
406
|
manual_devices = data.get('manualDevices', [])
|
|
379
407
|
exclude_mac_addresses = data.get('excludeMacAddresses', [])
|
|
408
|
+
include_mac_addresses = data.get('includeMacAddresses', [])
|
|
380
409
|
asyncio.create_task(discover_devices(
|
|
381
|
-
username, password, additional_broadcasts, manual_devices, exclude_mac_addresses
|
|
410
|
+
username, password, additional_broadcasts, manual_devices, exclude_mac_addresses, include_mac_addresses
|
|
382
411
|
))
|
|
383
412
|
return jsonify({"status": "discovery started"})
|
|
384
413
|
except Exception as e:
|
|
@@ -11,27 +11,25 @@ declare class PythonChecker {
|
|
|
11
11
|
private pythonExecutable;
|
|
12
12
|
private venvPipExecutable;
|
|
13
13
|
private venvPythonExecutable;
|
|
14
|
-
private userPath;
|
|
15
14
|
constructor(platform: KasaPythonPlatform);
|
|
16
15
|
allInOne(isUpgrade: boolean): Promise<void>;
|
|
17
16
|
private ensurePluginDir;
|
|
18
17
|
private ensurePythonVersion;
|
|
18
|
+
private getPythonVersion;
|
|
19
|
+
private resolvePythonExecutable;
|
|
19
20
|
private setPythonExecutables;
|
|
20
|
-
private isPythonSupported;
|
|
21
|
-
private getPythonMajorMinor;
|
|
22
21
|
private ensureVenvCreated;
|
|
23
22
|
private isVenvCreated;
|
|
24
23
|
private createVenv;
|
|
25
24
|
private ensureVenvUsesCorrectPythonHome;
|
|
26
25
|
private getPythonHome;
|
|
27
|
-
private getUserPath;
|
|
28
26
|
private ensureVenvPipUpToDate;
|
|
27
|
+
private getVenvPipVersion;
|
|
28
|
+
private getMostRecentPipVersion;
|
|
29
29
|
private updatePip;
|
|
30
30
|
private ensureVenvRequirementsSatisfied;
|
|
31
31
|
private areRequirementsSatisfied;
|
|
32
32
|
private stringToObject;
|
|
33
33
|
private installRequirements;
|
|
34
|
-
private getVenvPipVersion;
|
|
35
|
-
private getMostRecentPipVersion;
|
|
36
34
|
}
|
|
37
35
|
export default PythonChecker;
|
|
@@ -17,22 +17,16 @@ class PythonChecker {
|
|
|
17
17
|
pythonExecutable = '';
|
|
18
18
|
venvPipExecutable = '';
|
|
19
19
|
venvPythonExecutable = '';
|
|
20
|
-
userPath = '';
|
|
21
20
|
constructor(platform) {
|
|
22
21
|
this.platform = platform;
|
|
23
22
|
this.log = prefixLogger(this.platform.log, '[Python Check]');
|
|
24
23
|
this.advancedPythonLogging = this.platform.config.advancedOptions?.advancedPythonLogging ?? false;
|
|
25
24
|
this.pythonExecutables = [
|
|
26
|
-
'python3',
|
|
27
|
-
'python3.11',
|
|
28
|
-
'python3.12',
|
|
29
25
|
'python3.13',
|
|
30
|
-
'python3.
|
|
31
|
-
'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
`${process.env.HOME}/miniforge3/bin/python3`,
|
|
35
|
-
`${process.env.HOME}/miniconda3/bin/python3`,
|
|
26
|
+
'python3.12',
|
|
27
|
+
'python3.11',
|
|
28
|
+
'python3',
|
|
29
|
+
'python',
|
|
36
30
|
];
|
|
37
31
|
this.pluginDirPath = path.join(this.platform.storagePath, 'kasa-python');
|
|
38
32
|
this.venvPath = path.join(this.pluginDirPath, '.venv');
|
|
@@ -40,8 +34,6 @@ class PythonChecker {
|
|
|
40
34
|
}
|
|
41
35
|
async allInOne(isUpgrade) {
|
|
42
36
|
this.log.debug('Starting python environment check...');
|
|
43
|
-
this.userPath = await this.getUserPath();
|
|
44
|
-
this.platform.userPath = this.userPath;
|
|
45
37
|
this.ensurePluginDir();
|
|
46
38
|
await this.ensurePythonVersion();
|
|
47
39
|
await this.ensureVenvCreated(isUpgrade);
|
|
@@ -65,58 +57,76 @@ class PythonChecker {
|
|
|
65
57
|
const userPythonPath = this.platform.config.advancedOptions.pythonPath ?? '';
|
|
66
58
|
if (userPythonPath) {
|
|
67
59
|
this.log.debug(`User configured pythonPath: ${userPythonPath}`);
|
|
68
|
-
if (
|
|
69
|
-
this.
|
|
70
|
-
|
|
60
|
+
if (!fs.existsSync(userPythonPath)) {
|
|
61
|
+
this.log.error(`Configured pythonPath (${userPythonPath}) does not exist.`);
|
|
62
|
+
}
|
|
63
|
+
else if (fs.statSync(userPythonPath).isDirectory()) {
|
|
64
|
+
this.log.error(`Configured pythonPath (${userPythonPath}) is a directory, not an executable. ` +
|
|
65
|
+
'Please provide the full path to the Python executable, i.e. /usr/bin/python3.11');
|
|
71
66
|
}
|
|
72
67
|
else {
|
|
73
|
-
this.
|
|
68
|
+
const version = await this.getPythonVersion(userPythonPath);
|
|
69
|
+
if (version && SUPPORTED_PYTHON_VERSIONS.includes(version)) {
|
|
70
|
+
this.setPythonExecutables(userPythonPath, version);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.log.error(`Configured pythonPath (${userPythonPath}) is not supported`);
|
|
75
|
+
}
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
for (const executable of this.pythonExecutables) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
const resolved = await this.resolvePythonExecutable(executable);
|
|
80
|
+
if (resolved) {
|
|
81
|
+
const version = await this.getPythonVersion(resolved);
|
|
82
|
+
if (version && SUPPORTED_PYTHON_VERSIONS.includes(version)) {
|
|
83
|
+
this.setPythonExecutables(resolved, version);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
this.log.error('No supported Python version found. Install Python 3.11+ and restart Homebridge.');
|
|
89
|
+
throw new Error('No supported Python version found. Install Python 3.11+ and restart Homebridge.');
|
|
90
|
+
}
|
|
91
|
+
async getPythonVersion(executablePath) {
|
|
92
|
+
try {
|
|
93
|
+
const [stdout] = await runCommand(this.log, executablePath, ['--version'], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging, false, ['ENOENT']);
|
|
94
|
+
const match = stdout.trim().match(/^Python (\d+\.\d+)/);
|
|
95
|
+
return match ? match[1] : null;
|
|
86
96
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
throw new Error('No supported Python version found. Install Python 3.11+ and restart Homebridge.');
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
90
99
|
}
|
|
91
100
|
}
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const pipName = `pip${majorMinor}`;
|
|
95
|
-
const pyName = `python${majorMinor}`;
|
|
96
|
-
this.pythonExecutable = pythonPath;
|
|
97
|
-
this.venvPythonExecutable = path.join(this.venvPath, 'bin', pyName);
|
|
98
|
-
this.venvPipExecutable = path.join(this.venvPath, 'bin', pipName);
|
|
99
|
-
this.log.debug(`Selected Python executable: ${this.pythonExecutable}`);
|
|
100
|
-
}
|
|
101
|
-
async isPythonSupported(executable) {
|
|
101
|
+
async resolvePythonExecutable(executable) {
|
|
102
|
+
const cmd = process.platform === 'win32' ? 'where' : 'which';
|
|
102
103
|
try {
|
|
103
|
-
const [stdout] = await runCommand(this.log,
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
const [stdout] = await runCommand(this.log, cmd, [executable], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
105
|
+
const candidates = stdout.trim().split(/\r?\n/).filter(Boolean);
|
|
106
|
+
for (const candidate of candidates) {
|
|
107
|
+
if (fs.existsSync(candidate)) {
|
|
108
|
+
return candidate;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
108
112
|
}
|
|
109
|
-
catch
|
|
110
|
-
|
|
111
|
-
return false;
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
setPythonExecutables(pythonPath, version) {
|
|
118
|
+
this.pythonExecutable = pythonPath;
|
|
119
|
+
const majorMinor = version;
|
|
120
|
+
if (process.platform === 'win32') {
|
|
121
|
+
this.venvPythonExecutable = path.join(this.venvPath, 'Scripts', 'python.exe');
|
|
122
|
+
this.venvPipExecutable = path.join(this.venvPath, 'Scripts', 'pip.exe');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.venvPythonExecutable = path.join(this.venvPath, 'bin', `python${majorMinor}`);
|
|
126
|
+
this.venvPipExecutable = path.join(this.venvPath, 'bin', `pip${majorMinor}`);
|
|
118
127
|
}
|
|
119
|
-
|
|
128
|
+
this.platform.venvPythonExecutable = this.venvPythonExecutable;
|
|
129
|
+
this.log.debug(`Selected Python executable: ${this.pythonExecutable}`);
|
|
120
130
|
}
|
|
121
131
|
async ensureVenvCreated(isUpgrade) {
|
|
122
132
|
this.log.debug('Ensuring virtual environment is created');
|
|
@@ -136,7 +146,7 @@ class PythonChecker {
|
|
|
136
146
|
}
|
|
137
147
|
async createVenv() {
|
|
138
148
|
this.log.debug('Creating virtual environment at path:', this.venvPath);
|
|
139
|
-
const [stdout] = await runCommand(this.log, this.pythonExecutable, ['-m', 'venv', this.venvPath, '--clear', '--upgrade-deps'],
|
|
149
|
+
const [stdout] = await runCommand(this.log, this.pythonExecutable, ['-m', 'venv', this.venvPath, '--clear', '--upgrade-deps'], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
140
150
|
if (stdout.includes('not created successfully') || !this.isVenvCreated()) {
|
|
141
151
|
this.log.error('Failed to create virtual environment.');
|
|
142
152
|
await delay(300000);
|
|
@@ -148,7 +158,9 @@ class PythonChecker {
|
|
|
148
158
|
async ensureVenvUsesCorrectPythonHome() {
|
|
149
159
|
this.log.debug('Ensuring virtual environment uses correct Python home');
|
|
150
160
|
const venvPythonHome = await this.getPythonHome(this.venvPythonExecutable);
|
|
161
|
+
this.log.debug('Virtual environment Python home:', venvPythonHome);
|
|
151
162
|
const pythonHome = await this.getPythonHome(this.pythonExecutable);
|
|
163
|
+
this.log.debug('System Python home:', pythonHome);
|
|
152
164
|
if (venvPythonHome !== pythonHome) {
|
|
153
165
|
this.log.debug('Python homes mismatch, recreating virtual environment');
|
|
154
166
|
await this.createVenv();
|
|
@@ -159,42 +171,15 @@ class PythonChecker {
|
|
|
159
171
|
}
|
|
160
172
|
async getPythonHome(executable) {
|
|
161
173
|
this.log.debug('Getting Python home for executable:', executable);
|
|
162
|
-
const [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
for (const shell of shells) {
|
|
170
|
-
if (fs.existsSync(shell)) {
|
|
171
|
-
const shellCommands = [];
|
|
172
|
-
if (brewExists) {
|
|
173
|
-
shellCommands.push('eval "$(brew shellenv)" 2>/dev/null');
|
|
174
|
-
}
|
|
175
|
-
shellCommands.push('source ~/.zprofile 2>/dev/null', 'source ~/.bash_profile 2>/dev/null', 'source ~/.profile 2>/dev/null', 'echo $PATH');
|
|
176
|
-
let shellArgs;
|
|
177
|
-
if (shell.endsWith('zsh')) {
|
|
178
|
-
shellArgs = ['-f', '-c', shellCommands.join(' && ')];
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
shellArgs = ['--noprofile', '--norc', '-c', shellCommands.join(' && ')];
|
|
182
|
-
}
|
|
183
|
-
try {
|
|
184
|
-
const [stdout] = await runCommand(this.log, shell, shellArgs, undefined, false, true);
|
|
185
|
-
const userPath = stdout.trim();
|
|
186
|
-
if (userPath) {
|
|
187
|
-
this.log.debug('User PATH retrieved:', userPath);
|
|
188
|
-
return userPath;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
this.log.error(`Failed to retrieve PATH from ${shell}: ${err}`);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
174
|
+
const [basePrefix] = await runCommand(this.log, executable, [
|
|
175
|
+
'-c',
|
|
176
|
+
'import sys; print(getattr(sys, "base_prefix", getattr(sys, "prefix", "")))',
|
|
177
|
+
], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
178
|
+
let pythonHome = basePrefix.trim();
|
|
179
|
+
if (process.platform !== 'win32') {
|
|
180
|
+
pythonHome = path.join(pythonHome, 'bin');
|
|
195
181
|
}
|
|
196
|
-
|
|
197
|
-
return process.env.PATH ?? '';
|
|
182
|
+
return pythonHome;
|
|
198
183
|
}
|
|
199
184
|
async ensureVenvPipUpToDate() {
|
|
200
185
|
const currentVersion = await this.getVenvPipVersion();
|
|
@@ -206,9 +191,23 @@ class PythonChecker {
|
|
|
206
191
|
this.log.debug('Virtual environment pip is up to date');
|
|
207
192
|
}
|
|
208
193
|
}
|
|
194
|
+
async getVenvPipVersion() {
|
|
195
|
+
const [stdout] = await runCommand(this.log, this.venvPipExecutable, ['--version'], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
196
|
+
return stdout.trim().split(' ')[1];
|
|
197
|
+
}
|
|
198
|
+
async getMostRecentPipVersion() {
|
|
199
|
+
try {
|
|
200
|
+
const response = await axios.get('https://pypi.org/pypi/pip/json');
|
|
201
|
+
return response.data.info.version;
|
|
202
|
+
}
|
|
203
|
+
catch (err) {
|
|
204
|
+
this.log.error(`Error fetching latest pip version: ${err}`);
|
|
205
|
+
return '';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
209
208
|
async updatePip() {
|
|
210
209
|
this.log.debug('Updating pip in virtual environment');
|
|
211
|
-
await runCommand(this.log, this.venvPipExecutable, ['install', '--upgrade', 'pip'],
|
|
210
|
+
await runCommand(this.log, this.venvPipExecutable, ['install', '--upgrade', 'pip'], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
212
211
|
this.log.debug('Pip updated successfully');
|
|
213
212
|
}
|
|
214
213
|
async ensureVenvRequirementsSatisfied() {
|
|
@@ -220,7 +219,7 @@ class PythonChecker {
|
|
|
220
219
|
}
|
|
221
220
|
}
|
|
222
221
|
async areRequirementsSatisfied() {
|
|
223
|
-
const [freezeStdout] = await runCommand(this.log, this.venvPipExecutable, ['freeze'],
|
|
222
|
+
const [freezeStdout] = await runCommand(this.log, this.venvPipExecutable, ['freeze'], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
224
223
|
const installed = this.stringToObject(freezeStdout);
|
|
225
224
|
const required = this.stringToObject(fs.readFileSync(this.requirementsPath, 'utf8'));
|
|
226
225
|
return Object.keys(required).every(pkg => installed[pkg] === required[pkg]);
|
|
@@ -236,23 +235,9 @@ class PythonChecker {
|
|
|
236
235
|
}
|
|
237
236
|
async installRequirements() {
|
|
238
237
|
this.log.debug('Installing requirements from:', this.requirementsPath);
|
|
239
|
-
await runCommand(this.log, this.venvPipExecutable, ['install', '-r', this.requirementsPath],
|
|
238
|
+
await runCommand(this.log, this.venvPipExecutable, ['install', '-r', this.requirementsPath], undefined, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
240
239
|
this.log.debug('Requirements installed successfully');
|
|
241
240
|
}
|
|
242
|
-
async getVenvPipVersion() {
|
|
243
|
-
const [stdout] = await runCommand(this.log, this.venvPipExecutable, ['--version'], { env: { ...process.env, PATH: this.userPath } }, !this.advancedPythonLogging, !this.advancedPythonLogging);
|
|
244
|
-
return stdout.trim().split(' ')[1];
|
|
245
|
-
}
|
|
246
|
-
async getMostRecentPipVersion() {
|
|
247
|
-
try {
|
|
248
|
-
const response = await axios.get('https://pypi.org/pypi/pip/json');
|
|
249
|
-
return response.data.info.version;
|
|
250
|
-
}
|
|
251
|
-
catch (err) {
|
|
252
|
-
this.log.error(`Error fetching latest pip version: ${err}`);
|
|
253
|
-
return '';
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
241
|
}
|
|
257
242
|
export default PythonChecker;
|
|
258
243
|
//# sourceMappingURL=pythonChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pythonChecker.js","sourceRoot":"","sources":["../../src/python/pythonChecker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pythonChecker.js","sourceRoot":"","sources":["../../src/python/pythonChecker.ts"],"names":[],"mappings":"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"}
|