From b0e1aeb0f0aa939fd1408f873124ab496d480b0e Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 14 May 2016 12:29:54 +0300 Subject: [PATCH] toxencryptsave lib loading --- src/libtox.py | 20 ++++++++++++++++++-- src/settings.py | 1 + src/toxencryptsave.py | 17 +++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/toxencryptsave.py diff --git a/src/libtox.py b/src/libtox.py index 4a53562..10bf8c0 100644 --- a/src/libtox.py +++ b/src/libtox.py @@ -6,7 +6,7 @@ class LibToxCore(object): def __init__(self): if system() == 'Linux': - # be sure that libtoxcore and libsodium are installed in your os + # libtoxcore and libsodium must be installed in your os self._libtoxcore = CDLL('libtoxcore.so') elif system() == 'Windows': self._libtoxcore = CDLL('libs/libtox.dll') @@ -21,7 +21,7 @@ class LibToxAV(object): def __init__(self): if system() == 'Linux': - # be sure that /usr/lib/libtoxav.so exists + # that /usr/lib/libtoxav.so must exists self._libtoxav = CDLL('libtoxav.so') elif system() == 'Windows': # on Windows av api is in libtox.dll @@ -31,3 +31,19 @@ class LibToxAV(object): def __getattr__(self, item): return self._libtoxav.__getattr__(item) + + +class LibToxEncryptSave(object): + + def __init__(self): + if system() == 'Linux': + # /usr/lib/libtoxencryptsave.so must exists + self._lib_tox_encrypt_save = CDLL('libtoxencryptsave.so') + elif system() == 'Windows': + # on Windows profile encryption api is in libtox.dll + self._lib_tox_encrypt_save = CDLL('libs/libtox.dll') + else: + raise OSError('Unknown system.') + + def __getattr__(self, item): + return self._lib_tox_encrypt_save.__getattr__(item) diff --git a/src/settings.py b/src/settings.py index 8267596..49a4153 100644 --- a/src/settings.py +++ b/src/settings.py @@ -136,6 +136,7 @@ class Settings(Singleton, dict): return os.getenv('APPDATA') + '/Tox/' +# TODO: singleton (with encryption) class ProfileHelper(object): """ Class with static methods for search, load and save profiles diff --git a/src/toxencryptsave.py b/src/toxencryptsave.py new file mode 100644 index 0000000..227f589 --- /dev/null +++ b/src/toxencryptsave.py @@ -0,0 +1,17 @@ +import libtox +import util + + +# TODO: add enums and methods + +class LibToxEncryptSave(util.Singleton): + + libtoxencryptsave = libtox.LibToxEncryptSave() + + def __init__(self, password=''): + self._password = password + + def set_password(self, value): + self._password = value + +