CastagnaIT / plugin.video.netflix

InputStream based Netflix plugin for Kodi
MIT License
1.91k stars 259 forks source link

Error when starting bytes object required not NoneType #1505

Closed anonbeat closed 1 year ago

anonbeat commented 1 year ago

Netflix add-on version

v1.20.2+matrix.1

Operative systems used

Linux (Ubuntu / Mint / ...)

Kodi version used

Kodi 19 (Matrix)

Description of the bug

When loading prompts for login and after that this error appears "a bytes-like object is required, not 'NoneType'"

`2022-11-17 07:25:11.466 T:1378 ERROR : [plugin.video.netflix (0)] IPC callback raised exception: a bytes-like object is required, not 'NoneType' 2022-11-17 07:25:11.479 T:1378 ERROR : [plugin.video.netflix (0)] Traceback (most recent call last): File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_transports/default.py", line 61, in map_httpcore_exceptions yield File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_transports/default.py", line 181, in handle_request status_code, headers, byte_stream, extensions = self._pool.handle_request( File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/connection_pool.py", line 237, in handle_request response = connection.handle_request( File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/connection.py", line 148, in handle_request return self.connection.handle_request( File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/http2.py", line 165, in handle_request return h2_stream.handle_request( File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/http2.py", line 344, in handle_request status_code, headers = self.receive_response(timeout) File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/http2.py", line 419, in receive_response event = self.connection.wait_for_event(self.stream_id, timeout) File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/http2.py", line 242, in wait_for_event self.receive_events(timeout) File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpcore/_sync/http2.py", line 251, in receive_events raise RemoteProtocolError("Server disconnected") httpcore.RemoteProtocolError: Server disconnected

                                               The above exception was the direct cause of the following exception:

                                               Traceback (most recent call last):
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/session/http_requests.py", line 63, in _request
                                                   response = self.session.get(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 1018, in get
                                                   return self.request(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 785, in request
                                                   return self.send(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 871, in send
                                                   response = self._send_handling_auth(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 907, in _send_handling_auth
                                                   response = self._send_handling_redirects(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 943, in _send_handling_redirects
                                                   response = self._send_single_request(request, timeout)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_client.py", line 977, in _send_single_request
                                                   (status_code, headers, stream, extensions) = transport.handle_request(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_transports/default.py", line 181, in handle_request
                                                   status_code, headers, byte_stream, extensions = self._pool.handle_request(
                                                 File "/usr/lib/python3.8/contextlib.py", line 131, in __exit__
                                                   self.gen.throw(type, value, traceback)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/packages/httpx/_transports/default.py", line 78, in map_httpcore_exceptions
                                                   raise mapped_exc(message) from exc
                                               httpx.RemoteProtocolError: Server disconnected

                                               During handling of the above exception, another exception occurred:

                                               Traceback (most recent call last):
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/http_server.py", line 105, in handle_request
                                                   ret_data = _call_func(func, pickle.loads(data))
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/http_server.py", line 161, in _call_func
                                                   return func(**data)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/utils/logging.py", line 139, in timing_wrapper
                                                   return func(*args, **kwargs)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/session/access.py", line 111, in login_auth_data
                                                   website.extract_session_data(self.get('browse'), validate=True, update_profiles=True)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/session/http_requests.py", line 34, in get
                                                   return self._request_call(
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/utils/logging.py", line 139, in timing_wrapper
                                                   return func(*args, **kwargs)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/session/http_requests.py", line 48, in _request_call
                                                   return self._request(method, endpoint, None, **kwargs)
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/session/http_requests.py", line 84, in _request
                                                   self.msl_handler.clear_user_id_tokens()
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl/msl_handler.py", line 367, in clear_user_id_tokens
                                                   self.msl_requests.crypto.clear_user_id_tokens()
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl/base_crypto.py", line 120, in clear_user_id_tokens
                                                   self._save_msl_data()
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl/base_crypto.py", line 83, in _save_msl_data
                                                   self._msl_data.update(self._export_keys())
                                                 File "/home/jrios/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl/default_crypto.py", line 110, in _export_keys
                                                   'encryption_key': base64.standard_b64encode(self.encryption_key).decode('utf-8'),
                                                 File "/usr/lib/python3.8/base64.py", line 95, in standard_b64encode
                                                   return b64encode(s)
                                                 File "/usr/lib/python3.8/base64.py", line 58, in b64encode
                                                   encoded = binascii.b2a_base64(s, newline=False)
                                               TypeError: a bytes-like object is required, not 'NoneType'

`

Steps to reproduce the behavior

Load the addon and login with key.. after password is accepted this happens

Debug log - mandatory

https://paste.kodi.tv/sihutiguha.kodi

Possible fix

No response

Additional context

No response

Screenshots

No response