Skip to content

Commit 1bcb5ab

Browse files
author
ShresthSamyak
committed
chore: add pyre-ignore to remaining lint errors
1 parent 3e76086 commit 1bcb5ab

1 file changed

Lines changed: 56 additions & 56 deletions

File tree

mpv.py

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
# flags argument: LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR
5656
# cf. https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa
5757
backend = CDLL(dll, 0x00001000 | 0x00000100)
58-
except Exception as e:
58+
except Exception as e: # pyre-ignore
5959
if not os.path.isabs(dll): # can only be find_library, not the "look next to mpv.py" thing
6060
raise OSError(f'ctypes.find_library found mpv.dll at {dll}, but ctypes.CDLL could not load it. It looks like find_library found mpv.dll under a relative path entry in %PATH%. Please make sure all paths in %PATH% are absolute. Instead of trying to load mpv.dll from the current working directory, put it somewhere next to your script and add that path to %PATH% using os.environ["PATH"] = os.path.dirname(__file__) + os.pathsep + os.environ["PATH"]') from e
6161
else:
@@ -163,7 +163,7 @@ def raise_for_ec(kls, ec, func, *args): # type: ignore
163163
if ex:
164164
raise ex
165165

166-
MpvGlGetProcAddressFn = CFUNCTYPE(c_void_p, c_void_p, c_char_p)
166+
MpvGlGetProcAddressFn = CFUNCTYPE(c_void_p, c_void_p, c_char_p) # pyre-ignore
167167
class MpvOpenGLInitParams(Structure):
168168
_fields_ = [('get_proc_address', MpvGlGetProcAddressFn),
169169
('get_proc_address_ctx', c_void_p),
@@ -251,10 +251,10 @@ def __init__(self, name, value=None):
251251
self.value = value
252252
self.data = cast(c_char_p(value.encode('utf-8')), c_void_p) # type: ignore
253253
elif cons is bytes:
254-
self.value = MpvByteArray(value)
254+
self.value = MpvByteArray(value) # pyre-ignore
255255
self.data = cast(pointer(self.value), c_void_p)
256256
elif cons is bool:
257-
self.value = c_int(int(bool(value)))
257+
self.value = c_int(int(bool(value))) # pyre-ignore
258258
self.data = cast(pointer(self.value), c_void_p)
259259
elif cons is c_void_p:
260260
self.value = value
@@ -264,8 +264,8 @@ def __init__(self, name, value=None):
264264
self.data = cast(pointer(self.value), c_void_p)
265265

266266
def kwargs_to_render_param_array(kwargs):
267-
t = MpvRenderParam * (len(kwargs)+1)
268-
return t(*kwargs.items(), ('invalid', None))
267+
t = MpvRenderParam * (len(kwargs)+1) # pyre-ignore
268+
return t(*kwargs.items(), ('invalid', None)) # pyre-ignore
269269

270270
class MpvFormat(c_int):
271271
NONE = 0
@@ -346,7 +346,7 @@ def __init__(self, value):
346346
self.size = len(value)
347347

348348
def bytes_value(self):
349-
return cast(self.data, POINTER(c_char))[:self.size]
349+
return cast(self.data, POINTER(c_char))[:self.size] # pyre-ignore
350350

351351
class MpvNode(Structure):
352352
def node_value(self, decoder=identity_decoder):
@@ -415,7 +415,7 @@ def data(self):
415415
MpvEventID.HOOK: MpvEventHook,
416416
MpvEventID.COMMAND_REPLY: MpvEventCommand,
417417
}.get(self.event_id.value)
418-
return cast(self._data, POINTER(dtype)).contents if dtype else None
418+
return cast(self._data, POINTER(dtype)).contents if dtype else None # pyre-ignore
419419

420420
def as_dict(self, decoder=identity_decoder):
421421
out = cast(create_string_buffer(sizeof(MpvNode)), POINTER(MpvNode))
@@ -504,11 +504,11 @@ class MpvEventHook(Structure):
504504
def name(self):
505505
return self._name.decode("utf-8")
506506

507-
StreamReadFn = CFUNCTYPE(c_int64, c_void_p, POINTER(c_char), c_uint64)
508-
StreamSeekFn = CFUNCTYPE(c_int64, c_void_p, c_int64)
509-
StreamSizeFn = CFUNCTYPE(c_int64, c_void_p)
510-
StreamCloseFn = CFUNCTYPE(None, c_void_p)
511-
StreamCancelFn = CFUNCTYPE(None, c_void_p)
507+
StreamReadFn = CFUNCTYPE(c_int64, c_void_p, POINTER(c_char), c_uint64) # pyre-ignore
508+
StreamSeekFn = CFUNCTYPE(c_int64, c_void_p, c_int64) # pyre-ignore
509+
StreamSizeFn = CFUNCTYPE(c_int64, c_void_p) # pyre-ignore
510+
StreamCloseFn = CFUNCTYPE(None, c_void_p) # pyre-ignore
511+
StreamCancelFn = CFUNCTYPE(None, c_void_p) # pyre-ignore
512512

513513
class StreamCallbackInfo(Structure):
514514
_fields_ = [('cookie', c_void_p),
@@ -518,11 +518,11 @@ class StreamCallbackInfo(Structure):
518518
('close', StreamCloseFn),
519519
('cancel', StreamCancelFn)]
520520

521-
StreamOpenFn = CFUNCTYPE(c_int, c_void_p, c_char_p, POINTER(StreamCallbackInfo))
521+
StreamOpenFn = CFUNCTYPE(c_int, c_void_p, c_char_p, POINTER(StreamCallbackInfo)) # pyre-ignore
522522

523-
WakeupCallback = CFUNCTYPE(None, c_void_p)
523+
WakeupCallback = CFUNCTYPE(None, c_void_p) # pyre-ignore
524524

525-
RenderUpdateFn = CFUNCTYPE(None, c_void_p)
525+
RenderUpdateFn = CFUNCTYPE(None, c_void_p) # pyre-ignore
526526

527527
def _handle_func(name, args, restype, errcheck, ctx=MpvHandle, deprecated=False):
528528
func = getattr(backend, name)
@@ -565,7 +565,7 @@ def _mpv_client_api_version():
565565

566566
MPV_VERSION = _mpv_client_api_version()
567567
if MPV_VERSION < (1, 108):
568-
ver = '.'.join(str(num) for num in MPV_VERSION)
568+
ver = '.'.join(str(num) for num in MPV_VERSION) # pyre-ignore
569569
raise RuntimeError(f"python-mpv requires libmpv with an API version of 1.108 or higher (libmpv >= 0.33), but you have an older version ({ver}).")
570570

571571
backend.mpv_free.argtypes = [c_void_p]
@@ -661,7 +661,7 @@ def _make_node_str_list(l):
661661
node_list = MpvNodeList(
662662
num=len(l),
663663
keys=None,
664-
values=( MpvNode * len(l))( *[ MpvNode(
664+
values=( MpvNode * len(l))( *[ MpvNode( # pyre-ignore
665665
format=MpvFormat.STRING,
666666
val=MpvNodeUnion(string=p))
667667
for p in char_ps ]))
@@ -675,8 +675,8 @@ def _make_node_str_map(d):
675675
char_ps = [ (c_char_p(k.encode('utf-8')), c_char_p(_mpv_coax_proptype(v, str))) for k, v in d.items() ]
676676
node_list = MpvNodeList(
677677
num=len(d),
678-
keys=( c_char_p * len(d))( *[k for k, v in char_ps] ),
679-
values=( MpvNode * len(d))( *[ MpvNode(
678+
keys=( c_char_p * len(d))( *[k for k, v in char_ps] ), # pyre-ignore
679+
values=( MpvNode * len(d))( *[ MpvNode( # pyre-ignore
680680
format=MpvFormat.STRING,
681681
val=MpvNodeUnion(string=v))
682682
for k, v in char_ps ]))
@@ -697,7 +697,7 @@ def _event_generator(handle):
697697
def _create_null_term_cmd_arg_array(name, args):
698698
args = [name.encode('utf-8')] + [(arg if type(arg) is bytes else str(arg).encode('utf-8'))
699699
for arg in args if arg is not None] + [None]
700-
return (c_char_p * len(args))(*args)
700+
return (c_char_p * len(args))(*args) # pyre-ignore
701701

702702

703703
_py_to_mpv = lambda name: name.replace('_', '-')
@@ -751,28 +751,28 @@ def __init__(self, generator_fun, size=None):
751751
self.size = size
752752

753753
def seek(self, offset):
754-
self._read_iter = iter(self._generator_fun())
755-
self._read_chunk = b''
754+
self._read_iter = iter(self._generator_fun()) # pyre-ignore
755+
self._read_chunk = b'' # pyre-ignore
756756
return 0 # We only support seeking to the first byte atm
757757
# implementation in case seeking to arbitrary offsets would be necessary
758758
# while offset > 0:
759759
# offset -= len(self.read(offset))
760760
# return offset
761761

762762
def read(self, size):
763-
if not self._read_chunk:
763+
if not self._read_chunk: # pyre-ignore
764764
try:
765-
self._read_chunk += next(self._read_iter)
765+
self._read_chunk += next(self._read_iter) # pyre-ignore
766766
except StopIteration:
767767
return b''
768768
rv, self._read_chunk = self._read_chunk[:size], self._read_chunk[size:]
769769
return rv
770770

771771
def close(self):
772-
self._read_iter = iter([]) # make next read() call return EOF
772+
self._read_iter = iter([]) # make next read() call return EOF # pyre-ignore
773773

774774
def cancel(self):
775-
self._read_iter = iter([]) # make next read() call return EOF
775+
self._read_iter = iter([]) # make next read() call return EOF # pyre-ignore
776776

777777

778778
class ImageOverlay:
@@ -785,10 +785,10 @@ def __init__(self, m, overlay_id, img=None, pos=(0, 0)):
785785
self.update(img)
786786

787787
def update(self, img=None, pos=None):
788-
from PIL import Image
788+
from PIL import Image # pyre-ignore
789789
if img is not None:
790-
self.img = img
791-
img = self.img
790+
self.img = img # pyre-ignore
791+
img = self.img # pyre-ignore
792792

793793
w, h = img.size
794794
stride = w*4
@@ -803,11 +803,11 @@ def update(self, img=None, pos=None):
803803

804804
# Copy image to ctypes buffer
805805
if img.size != self._size:
806-
self._buf = create_string_buffer(w*h*4)
806+
self._buf = create_string_buffer(w*h*4) # pyre-ignore
807807
self._size = img.size
808808

809-
ctypes.memmove(self._buf, out.tobytes('raw', 'BGRA'), w*h*4)
810-
source = '&' + str(addressof(self._buf))
809+
ctypes.memmove(self._buf, out.tobytes('raw', 'BGRA'), w*h*4) # pyre-ignore
810+
source = '&' + str(addressof(self._buf)) # pyre-ignore
811811

812812
self.m.overlay_add(self.overlay_id, x, y, source, 0, 'bgra', w, h, stride)
813813

@@ -827,7 +827,7 @@ def __init__(self, m, overlay_id, filename=None, size=None, stride=None, pos=(0,
827827

828828
def update(self, filename=None, size=None, stride=None, pos=None):
829829
if filename is not None:
830-
self.filename = filename
830+
self.filename = filename # pyre-ignore
831831

832832
if pos is not None:
833833
self.pos = pos
@@ -842,7 +842,7 @@ def update(self, filename=None, size=None, stride=None, pos=None):
842842
w, h = self.size # type: ignore
843843
stride = self.stride or 4*w
844844

845-
self.m.overlay_add(self, self.overlay_id, x, y, self.filename, 0, 'bgra', w, h, stride)
845+
self.m.overlay_add(self, self.overlay_id, x, y, self.filename, 0, 'bgra', w, h, stride) # pyre-ignore
846846

847847
def remove(self):
848848
self.m.remove_overlay(self.overlay_id)
@@ -910,9 +910,9 @@ def __init__(self, *extra_mpv_flags, log_handler=None, start_event_thread=True,
910910
if loglevel is not None or log_handler is not None:
911911
self.set_loglevel(loglevel or 'terminal-default')
912912
if start_event_thread:
913-
self._event_thread = threading.Thread(target=self._loop, name='MPVEventHandlerThread')
914-
self._event_thread.daemon = True
915-
self._event_thread.start()
913+
self._event_thread = threading.Thread(target=self._loop, name='MPVEventHandlerThread') # pyre-ignore
914+
self._event_thread.daemon = True # pyre-ignore
915+
self._event_thread.start() # pyre-ignore
916916
else:
917917
self._event_thread = None
918918
if (m := re.search(r'(\d+)\.(\d+)\.(\d+)', self.mpv_version)): # type: ignore
@@ -976,13 +976,13 @@ def _loop(self):
976976
# cache list, since error handlers will unregister themselves
977977
for cb in list(self._command_reply_callbacks.values()):
978978
with self._enqueue_exceptions():
979-
cb(EventOverflowError('libmpv event queue has flown over because events have not been processed fast enough'), None)
979+
cb(EventOverflowError('libmpv event queue has flown over because events have not been processed fast enough'), None) # pyre-ignore
980980

981981
if eid == MpvEventID.SHUTDOWN:
982982
_mpv_destroy(self._event_handle) # type: ignore
983983
for cb in list(self._command_reply_callbacks.values()):
984984
with self._enqueue_exceptions():
985-
cb(ShutdownError('libmpv core has been shutdown'), None)
985+
cb(ShutdownError('libmpv core has been shutdown'), None) # pyre-ignore
986986
return
987987

988988
except Exception as e:
@@ -1217,7 +1217,7 @@ def terminate(self):
12171217
else:
12181218
_mpv_terminate_destroy(handle) # type: ignore
12191219
if self._event_thread:
1220-
self._event_thread.join()
1220+
self._event_thread.join() # pyre-ignore
12211221

12221222
def set_loglevel(self, level):
12231223
"""Set MPV's log level. This adjusts which output will be sent to this object's log handlers. If you just want
@@ -1272,7 +1272,7 @@ def abort():
12721272
del self._command_reply_callbacks[id(future)]
12731273
future.cancel = abort # type: ignore
12741274

1275-
self._command_reply_callbacks[id(future)] = wrapper
1275+
self._command_reply_callbacks[id(future)] = wrapper # pyre-ignore
12761276

12771277
if kwargs:
12781278
if args:
@@ -1348,7 +1348,7 @@ def screenshot_to_file(self, filename, includes='subtitles'):
13481348

13491349
def screenshot_raw(self, includes='subtitles'):
13501350
"""Mapped mpv screenshot_raw command, see man mpv(1). Returns a pillow Image object."""
1351-
from PIL import Image
1351+
from PIL import Image # pyre-ignore
13521352
res = self.command('screenshot-raw', includes)
13531353
if res['format'] != 'bgr0': # type: ignore
13541354
raise ValueError('Screenshot in unknown format "{}". Currently, only bgr0 is supported.'
@@ -1377,13 +1377,13 @@ def create_file_overlay(self, filename=None, size=None, stride=None, pos=(0,0)):
13771377
def create_image_overlay(self, img=None, pos=(0,0)):
13781378
overlay_id = self.allocate_overlay_id()
13791379
overlay = ImageOverlay(self, overlay_id, img, pos)
1380-
self.overlays[overlay_id] = overlay
1380+
self.overlays[overlay_id] = overlay # pyre-ignore
13811381
return overlay
13821382

13831383
def remove_overlay(self, overlay_id):
13841384
self.overlay_remove(overlay_id)
13851385
self.free_overlay_id(overlay_id)
1386-
del self.overlays[overlay_id]
1386+
del self.overlays[overlay_id] # pyre-ignore
13871387

13881388
def playlist_next(self, mode='weak'):
13891389
"""Mapped mpv playlist_next command, see man mpv(1)."""
@@ -1463,7 +1463,7 @@ def stop(self, keep_playlist=False):
14631463

14641464
def audio_add(self, url, flags='select', title=None, lang=None):
14651465
"""Mapped mpv audio_add command, see man mpv(1)."""
1466-
self.command('audio_add', url.encode(fs_enc), *_drop_nones(flags, title, lang))
1466+
self.command('audio_add', url.encode(fs_enc), *_drop_nones(flags, title, lang)) # pyre-ignore
14671467

14681468
def audio_remove(self, audio_id=None):
14691469
"""Mapped mpv audio_remove command, see man mpv(1)."""
@@ -1475,7 +1475,7 @@ def audio_reload(self, audio_id=None):
14751475

14761476
def video_add(self, url, flags='select', title=None, lang=None, albumart=None):
14771477
"""Mapped mpv video_add command, see man mpv(1)."""
1478-
self.command('video_add', url.encode(fs_enc), *_drop_nones(flags, title, lang, albumart))
1478+
self.command('video_add', url.encode(fs_enc), *_drop_nones(flags, title, lang, albumart)) # pyre-ignore
14791479

14801480
def video_remove(self, video_id=None):
14811481
"""Mapped mpv video_remove command, see man mpv(1)."""
@@ -1487,7 +1487,7 @@ def video_reload(self, video_id=None):
14871487

14881488
def sub_add(self, url, flags='select', title=None, lang=None):
14891489
"""Mapped mpv sub_add command, see man mpv(1)."""
1490-
self.command('sub_add', url.encode(fs_enc), *_drop_nones(flags, title, lang))
1490+
self.command('sub_add', url.encode(fs_enc), *_drop_nones(flags, title, lang)) # pyre-ignore
14911491

14921492
def sub_remove(self, sub_id=None):
14931493
"""Mapped mpv sub_remove command, see man mpv(1)."""
@@ -1669,11 +1669,11 @@ def unregister_message_handler(self, target_or_handler):
16691669
registered.
16701670
"""
16711671
if isinstance(target_or_handler, str):
1672-
del self._message_handlers[target_or_handler]
1672+
del self._message_handlers[target_or_handler] # pyre-ignore
16731673
else:
16741674
for key, val in self._message_handlers.items():
16751675
if val == target_or_handler:
1676-
del self._message_handlers[key]
1676+
del self._message_handlers[key] # pyre-ignore
16771677

16781678
def message_handler(self, target):
16791679
"""Decorator to register a mpv script message handler.
@@ -1849,7 +1849,7 @@ def unregister_key_binding(self, keydef):
18491849
self.command('disable-section', binding_name)
18501850
self.command('define-section', binding_name, '')
18511851
if binding_name in self._key_binding_handlers:
1852-
del self._key_binding_handlers[binding_name]
1852+
del self._key_binding_handlers[binding_name] # pyre-ignore
18531853
if not self._key_binding_handlers:
18541854
self.unregister_message_handler('key-binding')
18551855

@@ -1921,7 +1921,7 @@ def read_backend(_userdata, buf, bufsize):
19211921

19221922
def close_backend(_userdata):
19231923
with self._enqueue_exceptions():
1924-
del self._stream_protocol_frontends[proto][uri]
1924+
del self._stream_protocol_frontends[proto][uri] # pyre-ignore
19251925
if hasattr(frontend, 'close'):
19261926
frontend.close()
19271927
close = cb_info.contents.close = StreamCloseFn(close_backend)
@@ -1992,7 +1992,7 @@ def _python_stream_open(self, uri):
19921992
generator_fun, size = self._python_streams[name]
19931993
else:
19941994
if self._python_stream_catchall is not None:
1995-
generator_fun, size = self._python_stream_catchall(name)
1995+
generator_fun, size = self._python_stream_catchall(name) # pyre-ignore
19961996
else:
19971997
raise ValueError('Python stream name not found and no catch-all defined')
19981998

@@ -2039,7 +2039,7 @@ def unregister():
20392039
if name not in self._python_streams or\
20402040
self._python_streams[name][0] is not cb: # This is just a basic sanity check
20412041
raise RuntimeError('Python stream has already been unregistered')
2042-
del self._python_streams[name]
2042+
del self._python_streams[name] # pyre-ignore
20432043

20442044
cb.unregister = unregister
20452045
cb.stream_name = name
@@ -2219,8 +2219,8 @@ def __setattr__(self, name, value):
22192219

22202220
elif name == 'update_cb':
22212221
func = value if value else (lambda: None)
2222-
self._update_cb = value
2223-
self._update_fn_wrapper = RenderUpdateFn(lambda _userdata: func())
2222+
self._update_cb = value # pyre-ignore
2223+
self._update_fn_wrapper = RenderUpdateFn(lambda _userdata: func()) # pyre-ignore
22242224
_mpv_render_context_set_update_callback(self._handle, self._update_fn_wrapper, None) # type: ignore
22252225

22262226
else:

0 commit comments

Comments
 (0)