diff options
author | Roberto Hueso Gómez <rhueso@soleta.eu> | 2020-05-13 14:10:01 +0200 |
---|---|---|
committer | Roberto Hueso Gómez <rhueso@soleta.eu> | 2020-05-13 14:10:01 +0200 |
commit | 38b6d77561c87cb427b21b811ce10208f2eb5b1a (patch) | |
tree | c091b3e6db41fff548f7c00b905d0dbc5a7e70cd /src/ogClient.py | |
parent | 404b8c79d070a027503cb8792888817eb800b396 (diff) |
Switch config file to json
This patch makes configuration parsing easier as well as making the full
configuration available in many subclasses.
Diffstat (limited to 'src/ogClient.py')
-rw-r--r-- | src/ogClient.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/ogClient.py b/src/ogClient.py index ff2c704..fec8eb9 100644 --- a/src/ogClient.py +++ b/src/ogClient.py @@ -11,6 +11,7 @@ import select import socket import time import email +import platform from io import StringIO from src.restRequest import * @@ -23,19 +24,23 @@ class State(Enum): FORCE_DISCONNECTED = 2 class ogClient: - def __init__(self, ip, port, mode, samba_config=None): - if mode not in {'virtual', 'linux'}: + def __init__(self, config): + self.CONFIG = config + + self.mode = self.CONFIG['opengnsys']['mode'] + if self.mode not in {'virtual', 'linux'}: raise ValueError('Mode not supported.') + if self.mode == 'linux' and platform.system() != 'Linux': + raise ValueError('Linux mode not supported on ' + 'non-Linux platform.') - if samba_config: - assert('user' in samba_config) - assert('pass' in samba_config) + if self.CONFIG['samba']['activate']: + assert('user' in self.CONFIG['samba']) + assert('pass' in self.CONFIG['samba']) - self.ip = ip - self.port = port - self.mode = mode - self.samba_config = samba_config - self.ogrest = ogRest(self.mode, self.samba_config) + self.ip = self.CONFIG['opengnsys']['ip'] + self.port = self.CONFIG['opengnsys']['port'] + self.ogrest = ogRest(self.CONFIG) def get_socket(self): return self.sock |