Fix issues reported by ruff

This commit is contained in:
Kovid Goyal 2023-01-09 15:54:41 +05:30
parent d248d5ad75
commit a068e3e655
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
4 changed files with 32 additions and 28 deletions

View File

@ -14,6 +14,10 @@ is_openbsd = 'openbsd' in _plat
base = os.path.dirname(os.path.abspath(__file__)) base = os.path.dirname(os.path.abspath(__file__))
def null_func() -> None:
return None
class CompileKey(NamedTuple): class CompileKey(NamedTuple):
src: str src: str
dest: str dest: str
@ -23,7 +27,7 @@ class Command(NamedTuple):
desc: str desc: str
cmd: Sequence[str] cmd: Sequence[str]
is_newer_func: Callable[[], bool] is_newer_func: Callable[[], bool]
on_success: Callable[[], None] = lambda: None on_success: Callable[[], None] = null_func
key: Optional[CompileKey] = None key: Optional[CompileKey] = None
keyfile: Optional[str] = None keyfile: Optional[str] = None

View File

@ -229,8 +229,8 @@ class DiffHandler(Handler):
self.diff_lines: Tuple[Line, ...] = tuple(render_diff(self.collection, self.diff_map, self.args, self.screen_size.cols, self.image_manager)) self.diff_lines: Tuple[Line, ...] = tuple(render_diff(self.collection, self.diff_map, self.args, self.screen_size.cols, self.image_manager))
self.margin_size = render_diff.margin_size self.margin_size = render_diff.margin_size
self.ref_path_map: DefaultDict[str, List[Tuple[int, Reference]]] = defaultdict(list) self.ref_path_map: DefaultDict[str, List[Tuple[int, Reference]]] = defaultdict(list)
for i, l in enumerate(self.diff_lines): for i, dl in enumerate(self.diff_lines):
self.ref_path_map[l.ref.path].append((i, l.ref)) self.ref_path_map[dl.ref.path].append((i, dl.ref))
self.max_scroll_pos = len(self.diff_lines) - self.num_lines self.max_scroll_pos = len(self.diff_lines) - self.num_lines
if self.current_search is not None: if self.current_search is not None:
self.current_search(self.diff_lines, self.margin_size, self.screen_size.cols) self.current_search(self.diff_lines, self.margin_size, self.screen_size.cols)

View File

@ -68,8 +68,8 @@ def marker_from_text(expression: str, color: int) -> MarkerFunc:
def marker_from_function(func: Callable[[str], Iterable[Tuple[int, int, int]]]) -> MarkerFunc: def marker_from_function(func: Callable[[str], Iterable[Tuple[int, int, int]]]) -> MarkerFunc:
def marker(text: str, left_address: int, right_address: int, color_address: int) -> Generator[None, None, None]: def marker(text: str, left_address: int, right_address: int, color_address: int) -> Generator[None, None, None]:
left, right, colorv = get_output_variables(left_address, right_address, color_address) left, right, colorv = get_output_variables(left_address, right_address, color_address)
for (l, r, c) in func(text): for (ll, r, c) in func(text):
left.value = l left.value = ll
right.value = r right.value = r
colorv.value = c colorv.value = c
yield yield

View File

@ -289,21 +289,21 @@ class TestGraphics(BaseTest):
self.assertEqual(dc.num_cached_in_ram(), 0) self.assertEqual(dc.num_cached_in_ram(), 0)
def test_suppressing_gr_command_responses(self): def test_suppressing_gr_command_responses(self):
s, g, l, sl = load_helpers(self) s, g, pl, sl = load_helpers(self)
self.ae(l('abcd', s=10, v=10, q=1), 'ENODATA:Insufficient image data: 4 < 400') self.ae(pl('abcd', s=10, v=10, q=1), 'ENODATA:Insufficient image data: 4 < 400')
self.ae(l('abcd', s=10, v=10, q=2), None) self.ae(pl('abcd', s=10, v=10, q=2), None)
self.assertIsNone(l('abcd', s=1, v=1, a='q', q=1)) self.assertIsNone(pl('abcd', s=1, v=1, a='q', q=1))
# Test chunked load # Test chunked load
self.assertIsNone(l('abcd', s=2, v=2, m=1, q=1)) self.assertIsNone(pl('abcd', s=2, v=2, m=1, q=1))
self.assertIsNone(l('efgh', m=1)) self.assertIsNone(pl('efgh', m=1))
self.assertIsNone(l('ijkl', m=1)) self.assertIsNone(pl('ijkl', m=1))
self.assertIsNone(l('mnop', m=0)) self.assertIsNone(pl('mnop', m=0))
# errors # errors
self.assertIsNone(l('abcd', s=2, v=2, m=1, q=1)) self.assertIsNone(pl('abcd', s=2, v=2, m=1, q=1))
self.ae(l('mnop', m=0), 'ENODATA:Insufficient image data: 8 < 16') self.ae(pl('mnop', m=0), 'ENODATA:Insufficient image data: 8 < 16')
self.assertIsNone(l('abcd', s=2, v=2, m=1, q=2)) self.assertIsNone(pl('abcd', s=2, v=2, m=1, q=2))
self.assertIsNone(l('mnop', m=0)) self.assertIsNone(pl('mnop', m=0))
# frames # frames
s = self.create_screen() s = self.create_screen()
@ -320,11 +320,11 @@ class TestGraphics(BaseTest):
self.assertIsNone(li(payload='2' * 12)) self.assertIsNone(li(payload='2' * 12))
def test_load_images(self): def test_load_images(self):
s, g, l, sl = load_helpers(self) s, g, pl, sl = load_helpers(self)
self.assertEqual(g.disk_cache.total_size, 0) self.assertEqual(g.disk_cache.total_size, 0)
# Test load query # Test load query
self.ae(l('abcd', s=1, v=1, a='q'), 'OK') self.ae(pl('abcd', s=1, v=1, a='q'), 'OK')
self.ae(g.image_count, 0) self.ae(g.image_count, 0)
# Test simple load # Test simple load
@ -334,10 +334,10 @@ class TestGraphics(BaseTest):
self.ae(bool(img['is_4byte_aligned']), f == 32) self.ae(bool(img['is_4byte_aligned']), f == 32)
# Test chunked load # Test chunked load
self.assertIsNone(l('abcd', s=2, v=2, m=1)) self.assertIsNone(pl('abcd', s=2, v=2, m=1))
self.assertIsNone(l('efgh', m=1)) self.assertIsNone(pl('efgh', m=1))
self.assertIsNone(l('ijkl', m=1)) self.assertIsNone(pl('ijkl', m=1))
self.ae(l('mnop', m=0), 'OK') self.ae(pl('mnop', m=0), 'OK')
img = g.image_for_client_id(1) img = g.image_for_client_id(1)
self.ae(img['data'], b'abcdefghijklmnop') self.ae(img['data'], b'abcdefghijklmnop')
@ -354,8 +354,8 @@ class TestGraphics(BaseTest):
# Test chunked + compressed # Test chunked + compressed
b = len(compressed_random_data) // 2 b = len(compressed_random_data) // 2
self.assertIsNone(l(compressed_random_data[:b], s=24, v=32, o='z', m=1)) self.assertIsNone(pl(compressed_random_data[:b], s=24, v=32, o='z', m=1))
self.ae(l(compressed_random_data[b:], m=0), 'OK') self.ae(pl(compressed_random_data[b:], m=0), 'OK')
img = g.image_for_client_id(1) img = g.image_for_client_id(1)
self.ae(img['data'], random_data) self.ae(img['data'], random_data)
@ -382,7 +382,7 @@ class TestGraphics(BaseTest):
@unittest.skipIf(Image is None, 'PIL not available, skipping PNG tests') @unittest.skipIf(Image is None, 'PIL not available, skipping PNG tests')
def test_load_png(self): def test_load_png(self):
s, g, l, sl = load_helpers(self) s, g, pl, sl = load_helpers(self)
w, h = 5, 3 w, h = 5, 3
rgba_data = byte_block(w * h * 4) rgba_data = byte_block(w * h * 4)
img = Image.frombytes('RGBA', (w, h), rgba_data) img = Image.frombytes('RGBA', (w, h), rgba_data)
@ -407,7 +407,7 @@ class TestGraphics(BaseTest):
data = png(m) data = png(m)
sl(data, f=100, expecting_data=rgba_data) sl(data, f=100, expecting_data=rgba_data)
self.ae(l(b'a' * 20, f=100, S=20).partition(':')[0], 'EBADPNG') self.ae(pl(b'a' * 20, f=100, S=20).partition(':')[0], 'EBADPNG')
s.reset() s.reset()
self.assertEqual(g.disk_cache.total_size, 0) self.assertEqual(g.disk_cache.total_size, 0)
@ -416,7 +416,7 @@ class TestGraphics(BaseTest):
png_data = standard_b64decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==') png_data = standard_b64decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==')
expected = b'\x00\xff\xff\x7f' expected = b'\x00\xff\xff\x7f'
self.ae(load_png_data(png_data), (expected, 1, 1)) self.ae(load_png_data(png_data), (expected, 1, 1))
s, g, l, sl = load_helpers(self) s, g, pl, sl = load_helpers(self)
sl(png_data, f=100, expecting_data=expected) sl(png_data, f=100, expecting_data=expected)
# test error handling for loading bad png data # test error handling for loading bad png data
self.assertRaisesRegex(ValueError, '[EBADPNG]', load_png_data, b'dsfsdfsfsfd') self.assertRaisesRegex(ValueError, '[EBADPNG]', load_png_data, b'dsfsdfsfsfd')