diff options
author | AL-LCL <alvin@alvinhavel.com> | 2023-05-19 10:39:49 +0200 |
---|---|---|
committer | AL-LCL <alvin@alvinhavel.com> | 2023-05-19 10:39:49 +0200 |
commit | 58ebd3bc0f00c532e97e9a5571471ffab87934ba (patch) | |
tree | 6e099e59af07206df6edf2b0c585d0c5a466d4bd /server/modules/module.py |
Diffstat (limited to 'server/modules/module.py')
-rw-r--r-- | server/modules/module.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/server/modules/module.py b/server/modules/module.py new file mode 100644 index 0000000..1768416 --- /dev/null +++ b/server/modules/module.py @@ -0,0 +1,46 @@ +''' + A shared class among all modules to all + have the same core identifying features + when interacted with. + + Verified: 2021 February 7 + * Follows PEP8 + * Tested Platforms + * Windows 10 +''' + +from server.helper import SafeIP +from server.state import Dynamic +from shared.error import Error + + +class Module: + + def __init__(self, conn, token, connect_ip): + Dynamic.MODULES[token] = self + self.__conn = conn + self.__token = token + self.__connect_ip = SafeIP(connect_ip) + + def __str__(self): + return type(self).__name__ + + @property + def safe_connect_ip(self): + return self.__connect_ip.safe + + @property + def connect_ip(self): + return self.__connect_ip.pure + + @property + def token(self): + return self.__token + + @property + def conn(self): + return self.__conn + + @Error.quiet + def close(self): + self.__conn.close() |