From da3602293a8911e76a8e550a723c74d67edd9644 Mon Sep 17 00:00:00 2001 From: emdee Date: Mon, 11 Dec 2023 14:37:04 +0000 Subject: [PATCH] typing --- wrapper/toxav.py | 4 +++- wrapper/toxencryptsave.py | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/wrapper/toxav.py b/wrapper/toxav.py index 4c6055d..dafbd08 100644 --- a/wrapper/toxav.py +++ b/wrapper/toxav.py @@ -347,7 +347,9 @@ class ToxAV: :param user_data: pointer (c_void_p) to user data """ if callback is None: - self.libtoxav.toxav_callback_audio_receive_frame(self._toxav_pointer, POINTER(None)(), user_data) + self.libtoxav.toxav_callback_audio_receive_frame(self._toxav_pointer, + POINTER(None)(), + user_data) self.audio_receive_frame_cb = None return LOG_DEBUG(f"toxav_callback_audio_receive_frame") diff --git a/wrapper/toxencryptsave.py b/wrapper/toxencryptsave.py index 58e2a0f..fdb3348 100644 --- a/wrapper/toxencryptsave.py +++ b/wrapper/toxencryptsave.py @@ -16,16 +16,16 @@ class ToxEncryptSave: def __init__(self): self.libtoxencryptsave = libtox.LibToxEncryptSave() - def is_data_encrypted(self, data): + def is_data_encrypted(self, data: bytes) -> bool: """ Checks if given data is encrypted """ func = self.libtoxencryptsave.tox_is_data_encrypted func.restype = c_bool result = func(c_char_p(bytes(data))) - return result + return bool(result) - def pass_encrypt(self, data, password): + def pass_encrypt(self, data: bytes, password: str) -> bytes: """ Encrypts the given data with the given password. @@ -33,9 +33,11 @@ class ToxEncryptSave: """ out = create_string_buffer(len(data) + TOX_PASS_ENCRYPTION_EXTRA_LENGTH) tox_err_encryption = c_int() + if type(password) != bytes: + password = bytes(password, 'utf-8') self.libtoxencryptsave.tox_pass_encrypt(c_char_p(data), c_size_t(len(data)), - c_char_p(bytes(password, 'utf-8')), + c_char_p(password), c_size_t(len(password)), out, byref(tox_err_encryption)) @@ -50,7 +52,7 @@ class ToxEncryptSave: elif tox_err_encryption == TOX_ERR_ENCRYPTION['FAILED']: raise RuntimeError('The encryption itself failed.') - def pass_decrypt(self, data, password): + def pass_decrypt(self, data, password) -> bytes: """ Decrypts the given data with the given password. @@ -66,7 +68,7 @@ class ToxEncryptSave: byref(tox_err_decryption)) tox_err_decryption = tox_err_decryption.value if tox_err_decryption == TOX_ERR_DECRYPTION['OK']: - return out[:] + return bytes(out[:]) elif tox_err_decryption == TOX_ERR_DECRYPTION['NULL']: raise ArgumentError('Some input data, or maybe the output pointer, was null.') elif tox_err_decryption == TOX_ERR_DECRYPTION['INVALID_LENGTH']: