Skip to content

Commit dda7f32

Browse files
committed
fix notebook generate bug
1 parent fff129d commit dda7f32

File tree

3 files changed

+7
-28
lines changed

3 files changed

+7
-28
lines changed

jupyterlab_leetcode/utils/notebook_generator.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self):
2020
"notebook.template.json",
2121
)
2222
with open(template_path, "rt") as f:
23-
self.template = json.load(f)
23+
self.__template = json.load(f)
2424

2525
self.typing_regex = re.compile(
2626
"|".join(
@@ -180,24 +180,18 @@ def __populate_run(self, q, snippet):
180180

181181
idx, run_cell = run_cell_with_idx
182182
cases = q["exampleTestcaseList"] or [q["sampleTestCase"]]
183-
run_cells = []
184183

185184
def fill_case(case):
186-
return f"Solution().{func_name}({case.replace('\n', ', ')})"
185+
return f"s.{func_name}({case.replace('\n', ', ')})"
187186

188187
for i, case in enumerate(cases):
189188
if i == 0:
190-
run_cell["source"] = [fill_case(case)]
191-
run_cells.append(run_cell)
189+
run_cell["source"] = [f"s = Solution()\n{fill_case(case)}"]
192190
else:
193191
copied = copy.deepcopy(run_cell)
194192
copied["metadata"]["id"] = f"run_{i}"
195193
copied["source"] = [fill_case(case)]
196-
run_cells.append(copied)
197-
198-
if run_cells:
199-
# FIXME: accumulation ?
200-
self.template["cells"][idx : idx + 1] = run_cells
194+
self.template["cells"].insert(idx + i, copied)
201195

202196
def __dump(self, q):
203197
qid = q["questionFrontendId"]
@@ -212,6 +206,7 @@ def __dump(self, q):
212206
return file_path
213207

214208
def generate(self, q):
209+
self.template = copy.deepcopy(self.__template)
215210
self.__populate_metadata(q)
216211
self.__populate_title(q)
217212
self.__populate_content(q)

src/components/LeetCode.tsx

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react';
22
import { IDocumentManager } from '@jupyterlab/docmanager';
33
import { IDocumentWidget } from '@jupyterlab/docregistry';
44
import { JupyterFrontEnd, LabShell } from '@jupyterlab/application';
5-
import { NotebookPanel, NotebookActions } from '@jupyterlab/notebook';
65
import { getProfile } from '../services/leetcode';
76
import { LeetCodeProfile } from '../types/leetcode';
87
import Profile from './Profile';
@@ -44,22 +43,7 @@ const LeetCode: React.FC<{
4443
}, []);
4544

4645
const openNoteBook = (path: string) => {
47-
const docWidget = docManager.openOrReveal(path);
48-
if (docWidget && docWidget instanceof NotebookPanel) {
49-
docWidget.revealed.then(() => {
50-
let idx = 0;
51-
for (const cell of docWidget.content.model?.cells ?? []) {
52-
if (cell.metadata['id'] === 'pre_code') {
53-
docWidget.content.activeCellIndex = idx;
54-
docWidget.context.ready.then(() => {
55-
// FIXME: not running..., dont know why
56-
NotebookActions.run(docWidget.content);
57-
});
58-
}
59-
idx++;
60-
}
61-
});
62-
}
46+
docManager.openOrReveal(path);
6347
};
6448

6549
return profile ? (

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ const plugin: JupyterFrontEndPlugin<void> = {
8282
widget.revealed.then(() => {
8383
if (widget.model?.metadata?.leetcode_question_info) {
8484
const toolbarItem = new LeetCodeToolbarWidget(widget);
85-
widget.toolbar.insertBefore('spacer', 'leetcode', toolbarItem);
85+
widget.toolbar.insertAfter('cellType', 'leetcode', toolbarItem);
8686
}
8787
});
8888
}

0 commit comments

Comments
 (0)