Remove unnecessary OutputChannel reference from PythonPathLookup class. (#13970)

This commit is contained in:
Cory Rivera
2021-01-15 16:51:42 -08:00
committed by GitHub
parent 462d4137d5
commit 94b697340d
6 changed files with 25 additions and 28 deletions

View File

@@ -8,7 +8,6 @@ import * as azdata from 'azdata';
import { BasePage } from './basePage';
import * as nls from 'vscode-nls';
import { JupyterServerInstallation } from '../../jupyter/jupyterServerInstallation';
import { PythonPathInfo } from '../pythonPathLookup';
import * as utils from '../../common/utils';
const localize = nls.loadMessageBundle();
@@ -160,10 +159,9 @@ export class ConfigurePathPage extends BasePage {
this.instance.wizard.nextButton.enabled = false;
this.pythonDropdownLoader.loading = true;
try {
let pythonPaths: PythonPathInfo[];
let dropdownValues: azdata.CategoryValue[];
if (useExistingPython) {
pythonPaths = await this.model.pythonPathsPromise;
let pythonPaths = await this.model.pythonPathLookup.getSuggestions();
if (pythonPaths && pythonPaths.length > 0) {
dropdownValues = pythonPaths.map(path => {
return {

View File

@@ -5,7 +5,6 @@
import * as nls from 'vscode-nls';
import * as azdata from 'azdata';
import * as vscode from 'vscode';
import { BasePage } from './basePage';
import { ConfigurePathPage } from './configurePathPage';
import { PickPackagesPage } from './pickPackagesPage';
@@ -13,7 +12,7 @@ import { JupyterServerInstallation, PythonPkgDetails, PythonInstallSettings } fr
import * as utils from '../../common/utils';
import { promises as fs } from 'fs';
import { Deferred } from '../../common/promise';
import { PythonPathInfo, PythonPathLookup } from '../pythonPathLookup';
import { PythonPathLookup } from '../pythonPathLookup';
const localize = nls.loadMessageBundle();
@@ -21,7 +20,7 @@ export interface ConfigurePythonModel {
kernelName: string;
pythonLocation: string;
useExistingPython: boolean;
pythonPathsPromise: Promise<PythonPathInfo[]>;
pythonPathLookup: PythonPathLookup;
packagesToInstall: PythonPkgDetails[];
installation: JupyterServerInstallation;
}
@@ -35,11 +34,9 @@ export class ConfigurePythonWizard {
private model: ConfigurePythonModel;
private _setupComplete: Deferred<void>;
private pythonPathsPromise: Promise<PythonPathInfo[]>;
constructor(private jupyterInstallation: JupyterServerInstallation, private readonly _outputChannel: vscode.OutputChannel) {
constructor(private jupyterInstallation: JupyterServerInstallation) {
this._setupComplete = new Deferred<void>();
this.pythonPathsPromise = (new PythonPathLookup(this._outputChannel)).getSuggestions();
}
public get wizard(): azdata.window.Wizard {
@@ -53,7 +50,7 @@ export class ConfigurePythonWizard {
public async start(kernelName?: string, rejectOnCancel?: boolean): Promise<void> {
this.model = <ConfigurePythonModel>{
kernelName: kernelName,
pythonPathsPromise: this.pythonPathsPromise,
pythonPathLookup: new PythonPathLookup(),
installation: this.jupyterInstallation,
pythonLocation: JupyterServerInstallation.getPythonPathSetting(),
useExistingPython: JupyterServerInstallation.getExistingPythonSetting()

View File

@@ -4,7 +4,6 @@
*--------------------------------------------------------------------------------------------*/
import * as glob from 'glob';
import * as vscode from 'vscode';
import * as utils from '../common/utils';
import * as constants from '../common/constants';
@@ -16,7 +15,7 @@ export interface PythonPathInfo {
export class PythonPathLookup {
private condaLocations: string[];
constructor(private readonly _outputChannel: vscode.OutputChannel) {
constructor() {
if (process.platform !== constants.winPlatform) {
let userFolder = process.env['HOME'];
this.condaLocations = [
@@ -57,7 +56,7 @@ export class PythonPathLookup {
let condaFiles = condaResults.reduce((first, second) => first.concat(second));
return condaFiles.filter(condaPath => condaPath && condaPath.length > 0);
} catch (err) {
this._outputChannel.appendLine(`Problem encountered getting Conda installations: ${err}`);
console.log(`Problem encountered getting Conda installations: ${err}`);
}
return [];
}
@@ -86,7 +85,7 @@ export class PythonPathLookup {
return results;
}
private async getPythonPath(options: { command: string; args?: string[] }): Promise<string> {
private async getPythonPath(options: { command: string; args?: string[] }): Promise<string | undefined> {
try {
let args = Array.isArray(options.args) ? options.args : [];
args = args.concat(['-c', '"import sys;print(sys.executable)"']);
@@ -97,7 +96,7 @@ export class PythonPathLookup {
return value;
}
} catch (err) {
this._outputChannel.appendLine(`Problem encountered getting Python path: ${err}`);
// Ignoring this error since it's probably from trying to run a non-existent python executable.
}
return undefined;
@@ -141,7 +140,7 @@ export class PythonPathLookup {
});
}
private async getInfoForPath(pythonPath: string): Promise<PythonPathInfo> {
private async getInfoForPath(pythonPath: string): Promise<PythonPathInfo | undefined> {
try {
// "python --version" returns nothing from executeBufferedCommand with Python 2.X,
// so use sys.version_info here instead.
@@ -160,7 +159,7 @@ export class PythonPathLookup {
};
}
} catch (err) {
this._outputChannel.appendLine(`Problem encountered getting Python info for path: ${err}`);
console.log(`Problem encountered getting Python info for path: ${err}`);
}
return undefined;
}