summaryrefslogtreecommitdiff
path: root/wrappers/python
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-11 10:19:56 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-11 12:42:11 +0200
commit565237c14a303a46d62d240b35c6f0082424256a (patch)
tree522f2aeb441a3eb22b6d5e05e66ef348241b2e66 /wrappers/python
parent17e261dd224bc67f031b80930490768ea54353db (diff)
Client: Refactor out adding a Server from getting a config
Diffstat (limited to 'wrappers/python')
-rw-r--r--wrappers/python/eduvpn_common/loader.py12
-rw-r--r--wrappers/python/eduvpn_common/main.py20
-rw-r--r--wrappers/python/main.py3
-rw-r--r--wrappers/python/tests.py1
4 files changed, 34 insertions, 2 deletions
diff --git a/wrappers/python/eduvpn_common/loader.py b/wrappers/python/eduvpn_common/loader.py
index 0192815..23851f3 100644
--- a/wrappers/python/eduvpn_common/loader.py
+++ b/wrappers/python/eduvpn_common/loader.py
@@ -91,6 +91,18 @@ def initialize_functions(lib):
c_char_p,
c_char_p,
], c_void_p
+ lib.AddInstituteAccess.argtypes, lib.AddInstituteAccess.restype = [
+ c_char_p,
+ c_char_p,
+ ], c_void_p
+ lib.AddSecureInternetHomeServer.argtypes, lib.AddSecureInternetHomeServer.restype = [
+ c_char_p,
+ c_char_p,
+ ], c_void_p
+ lib.AddCustomServer.argtypes, lib.AddCustomServer.restype = [
+ c_char_p,
+ c_char_p,
+ ], c_void_p
lib.RemoveInstituteAccess.argtypes, lib.RemoveInstituteAccess.restype = [
c_char_p,
c_char_p,
diff --git a/wrappers/python/eduvpn_common/main.py b/wrappers/python/eduvpn_common/main.py
index 03e1045..382f356 100644
--- a/wrappers/python/eduvpn_common/main.py
+++ b/wrappers/python/eduvpn_common/main.py
@@ -121,6 +121,25 @@ class EduVPN(object):
if remove_err:
raise remove_err
+ def add_institute_access(self, url: str):
+ add_err = self.go_function(self.lib.AddInstituteAccess, url)
+
+ if add_err:
+ raise add_err
+
+ def add_secure_internet_home(self, org_id: str):
+ self.location_event = threading.Event()
+ add_err = self.go_function(self.lib.AddSecureInternetHomeServer, org_id)
+
+ if add_err:
+ raise add_err
+
+ def add_custom_server(self, url: str):
+ add_err = self.go_function(self.lib.AddCustomServer, url)
+
+ if add_err:
+ raise add_err
+
def remove_institute_access(self, url: str):
remove_err = self.go_function(self.lib.RemoveInstituteAccess, url)
@@ -162,7 +181,6 @@ class EduVPN(object):
def get_config_secure_internet(
self, url: str, prefer_tcp: bool = False
) -> Tuple[str, str]:
- self.location_event = threading.Event()
return self.get_config(url, self.lib.GetConfigSecureInternet, prefer_tcp)
def go_back(self) -> None:
diff --git a/wrappers/python/main.py b/wrappers/python/main.py
index 5604452..4881828 100644
--- a/wrappers/python/main.py
+++ b/wrappers/python/main.py
@@ -67,7 +67,7 @@ def setup_callbacks(_eduvpn: eduvpn.EduVPN) -> None:
# The main entry point
if __name__ == "__main__":
- _eduvpn = eduvpn.EduVPN("org.eduvpn.app.linux", "configs")
+ _eduvpn = eduvpn.EduVPN("org.eduvpn.app.linux", "configs", "en")
setup_callbacks(_eduvpn)
# Register with the eduVPN-common library
@@ -82,6 +82,7 @@ if __name__ == "__main__":
# Get a Wireguard/OpenVPN config
try:
+ _eduvpn.add_secure_internet("https://idp.geant.org")
config, config_type = _eduvpn.get_config_secure_internet("https://idp.geant.org")
print(f"Got a config with type: {config_type} and contents:\n{config}")
except Exception as e:
diff --git a/wrappers/python/tests.py b/wrappers/python/tests.py
index d3caa38..555a0bb 100644
--- a/wrappers/python/tests.py
+++ b/wrappers/python/tests.py
@@ -31,6 +31,7 @@ class ConfigTests(unittest.TestCase):
self.fail("No SERVER_URI environment variable given")
# This can throw an exception
+ _eduvpn.add_custom_server(server_uri)
_eduvpn.get_config_custom_server(server_uri)
# Deregister