Skip to content

Commit 592725a

Browse files
committed
Improve on_any_event and add type annotations
1 parent e82b4fc commit 592725a

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

bpython/curtsies.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def _request_refresh(self) -> None:
104104
def _schedule_refresh(self, when: float) -> None:
105105
return self._schedule_refresh_callback(when)
106106

107-
def _request_reload(self, files_modified: Sequence[str] = ("?",)) -> None:
107+
def _request_reload(self, files_modified: Sequence[str]) -> None:
108108
return self._request_reload_callback(files_modified)
109109

110110
def interrupting_refresh(self) -> None:

bpython/curtsiesfrontend/filewatch.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
from collections import defaultdict
3-
from typing import Dict, Iterable, Set, List
3+
from typing import Callable, Dict, Iterable, Sequence, Set, List
44

55
from .. import importcompletion
66

@@ -15,7 +15,11 @@ def ModuleChangedEventHandler(*args):
1515
else:
1616

1717
class ModuleChangedEventHandler(FileSystemEventHandler): # type: ignore [no-redef]
18-
def __init__(self, paths: Iterable[str], on_change) -> None:
18+
def __init__(
19+
self,
20+
paths: Iterable[str],
21+
on_change: Callable[[Sequence[str]], None],
22+
) -> None:
1923
self.dirs: Dict[str, Set[str]] = defaultdict(set)
2024
self.on_change = on_change
2125
self.modules_to_add_later: List[str] = []
@@ -77,6 +81,7 @@ def deactivate(self) -> None:
7781

7882
def on_any_event(self, event: FileSystemEvent) -> None:
7983
dirpath = os.path.dirname(event.src_path)
80-
paths = [path + ".py" for path in self.dirs[dirpath]]
81-
if event.src_path in paths:
82-
self.on_change(files_modified=[event.src_path])
84+
if any(
85+
event.src_path == f"{path}.py" for path in self.dirs[dirpath]
86+
):
87+
self.on_change((event.src_path,))

bpython/curtsiesfrontend/repl.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
Any,
1818
List,
1919
Optional,
20+
Sequence,
2021
Tuple,
2122
Union,
2223
Type,
@@ -516,7 +517,7 @@ def _request_refresh(self):
516517
RefreshRequestEvent."""
517518
raise NotImplementedError
518519

519-
def _request_reload(self, files_modified=("?",)):
520+
def _request_reload(self, files_modified: Sequence[str]) -> None:
520521
"""Like request_refresh, but for reload requests events."""
521522
raise NotImplementedError
522523

@@ -546,10 +547,10 @@ def request_refresh(self):
546547
else:
547548
self._request_refresh()
548549

549-
def request_reload(self, files_modified=()):
550+
def request_reload(self, files_modified: Sequence[str] = ()) -> None:
550551
"""Request that a ReloadEvent be passed next into process_event"""
551552
if self.watching_files:
552-
self._request_reload(files_modified=files_modified)
553+
self._request_reload(files_modified)
553554

554555
def schedule_refresh(self, when: float = 0) -> None:
555556
"""Schedule a ScheduledRefreshRequestEvent for when.

0 commit comments

Comments
 (0)