summaryrefslogtreecommitdiff
path: root/service/pixelated/bitmask_libraries/provider.py
diff options
context:
space:
mode:
authorJefferson Stachelski <jstachel@thoughtworks.com>2015-11-06 13:33:47 -0200
committerJefferson Stachelski <jstachel@thoughtworks.com>2015-11-06 13:33:47 -0200
commit2a5c8fd4575af9f19db56e4603a8c221020711fd (patch)
tree7152fb249889d4612783659ea5c211b2efe6a886 /service/pixelated/bitmask_libraries/provider.py
parent50f599dcc5297b3b29827b2ac02e6a9885b52d62 (diff)
Refactor - Removed class SoledadSession
The SoledadSession class was removed and some methods implemented there was moved to LeapSessionFactory and LeapProvider
Diffstat (limited to 'service/pixelated/bitmask_libraries/provider.py')
-rw-r--r--service/pixelated/bitmask_libraries/provider.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/service/pixelated/bitmask_libraries/provider.py b/service/pixelated/bitmask_libraries/provider.py
index a529208d..75dcd3ae 100644
--- a/service/pixelated/bitmask_libraries/provider.py
+++ b/service/pixelated/bitmask_libraries/provider.py
@@ -20,6 +20,7 @@ from leap.common.certs import get_digest
import requests
from .certs import LeapCertificate
from pixelated.support.tls_adapter import EnforceTLSv1Adapter
+from pixelated.bitmask_libraries.soledad import SoledadDiscoverException
class LeapProvider(object):
@@ -138,3 +139,16 @@ class LeapProvider(object):
def address_for(self, username):
return '%s@%s' % (username, self.domain)
+
+ def discover_soledad_server(self, user_uuid):
+ try:
+ json_data = self.fetch_soledad_json()
+
+ hosts = json_data['hosts']
+ host = hosts.keys()[0]
+ server_url = 'https://%s:%d/user-%s' % \
+ (hosts[host]['hostname'], hosts[host]['port'],
+ user_uuid)
+ return server_url
+ except Exception, e:
+ raise SoledadDiscoverException(e)