| 41 | */ |
| 42 | @injectable() |
| 43 | export class ExportBase implements IExportBase { |
| 44 | constructor( |
| 45 | @inject(IKernelProvider) private readonly kernelProvider: IKernelProvider, |
| 46 | @inject(IFileSystem) private readonly fs: IFileSystem, |
| 47 | @inject(JupyterConnection) private readonly jupyterConnection: JupyterConnection, |
| 48 | @inject(IExportUtil) private readonly exportUtil: IExportUtil |
| 49 | ) {} |
| 50 | |
| 51 | public async export( |
| 52 | _sourceDocument: NotebookDocument, |
| 53 | _target: Uri, |
| 54 | _interpreter: PythonEnvironment, |
| 55 | _token: CancellationToken |
| 56 | ): Promise<void> { |
| 57 | return undefined; |
| 58 | } |
| 59 | |
| 60 | @reportAction(ReportableAction.PerformingExport) |
| 61 | async executeCommand( |
| 62 | sourceDocument: NotebookDocument, |
| 63 | target: Uri, |
| 64 | format: ExportFormat, |
| 65 | _interpreter: PythonEnvironment, |
| 66 | _token: CancellationToken |
| 67 | ): Promise<void> { |
| 68 | const kernel = this.kernelProvider.get(sourceDocument); |
| 69 | if (!kernel) { |
| 70 | // trace error |
| 71 | return; |
| 72 | } |
| 73 | if (!kernel.session) { |
| 74 | await kernel.start(new DisplayOptions(false)); |
| 75 | } |
| 76 | if (!kernel.session?.kernel) { |
| 77 | return; |
| 78 | } |
| 79 | |
| 80 | const kernelConnectionMetadata = kernel.kernelConnectionMetadata; |
| 81 | const resource = kernel.resourceUri; |
| 82 | if (!isRemoteConnection(kernelConnectionMetadata)) { |
| 83 | return; |
| 84 | } |
| 85 | if (resource) { |
| 86 | return; |
| 87 | } |
| 88 | const kernelConnection = kernel.session.kernel; |
| 89 | const connection = await this.jupyterConnection.createConnectionInfo( |
| 90 | kernelConnectionMetadata.serverProviderHandle |
| 91 | ); |
| 92 | const serverSettings = connection.settings; |
| 93 | const jupyter = require('@jupyterlab/services') as typeof import('@jupyterlab/services'); |
| 94 | const contentsManager = new jupyter.ContentsManager({ serverSettings }); |
| 95 | |
| 96 | let contents = await this.exportUtil.getContent(sourceDocument); |
| 97 | |
| 98 | let fileExt = ''; |
| 99 | |
| 100 | switch (format) { |
nothing calls this directly
no test coverage detected