summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorVictor Shyba <victor.shyba@gmail.com>2015-06-09 16:05:45 -0300
committerVictor Shyba <victor.shyba@gmail.com>2015-06-09 16:05:45 -0300
commit7aafd4eb3d18f23beed012f1f2e6865a2da58b43 (patch)
tree4f3e68b94f70a9dc6a428781aa41641f301280ec /service/pixelated
parent3ed44327d7d658a58989e2ed5fb053465faffb26 (diff)
Removed triplicated code to concatenate user mail
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/bitmask_libraries/nicknym.py6
-rw-r--r--service/pixelated/bitmask_libraries/provider.py3
-rw-r--r--service/pixelated/bitmask_libraries/session.py20
3 files changed, 14 insertions, 15 deletions
diff --git a/service/pixelated/bitmask_libraries/nicknym.py b/service/pixelated/bitmask_libraries/nicknym.py
index 8220d006..bb278cdc 100644
--- a/service/pixelated/bitmask_libraries/nicknym.py
+++ b/service/pixelated/bitmask_libraries/nicknym.py
@@ -18,10 +18,10 @@ from .certs import LeapCertificate
class NickNym(object):
- def __init__(self, provider, config, soledad_session, username, token, uuid):
+ def __init__(self, provider, config, soledad_session, email_address, token, uuid):
nicknym_url = _discover_nicknym_server(provider)
- self._email = '%s@%s' % (username, provider.domain)
- self.keymanager = KeyManager('%s@%s' % (username, provider.domain), nicknym_url,
+ self._email = email_address
+ self.keymanager = KeyManager(self._email, nicknym_url,
soledad_session.soledad,
token, LeapCertificate(provider).api_ca_bundle, provider.api_uri,
provider.api_version,
diff --git a/service/pixelated/bitmask_libraries/provider.py b/service/pixelated/bitmask_libraries/provider.py
index 0129480c..0a22cf4d 100644
--- a/service/pixelated/bitmask_libraries/provider.py
+++ b/service/pixelated/bitmask_libraries/provider.py
@@ -128,3 +128,6 @@ class LeapProvider(object):
def _provider_base_url(self):
return 'https://%s' % self.server_name
+
+ def address_for(self, username):
+ return '%s@%s' % (username, self.domain)
diff --git a/service/pixelated/bitmask_libraries/session.py b/service/pixelated/bitmask_libraries/session.py
index ad01d495..2b60662e 100644
--- a/service/pixelated/bitmask_libraries/session.py
+++ b/service/pixelated/bitmask_libraries/session.py
@@ -73,9 +73,8 @@ class LeapSession(object):
self.start_background_jobs()
def account_email(self):
- domain = self.provider.domain
name = self.user_auth.username
- return '%s@%s' % (name, domain)
+ return self.provider.address_for(name)
def close(self):
self.stop_background_jobs()
@@ -114,12 +113,13 @@ class LeapSessionFactory(object):
srp_auth = SRPAuth(self._provider.api_uri, self._provider.local_ca_crt)
auth = srp_auth.authenticate(username, password)
+ account_email = self._provider.address_for(username)
soledad = SoledadSessionFactory.create(self._provider, auth.token, auth.uuid, password)
- nicknym = self._create_nicknym(auth.username, auth.token, auth.uuid, soledad)
+ nicknym = self._create_nicknym(account_email, auth.token, auth.uuid, soledad)
account = self._create_account(auth.uuid, soledad)
- incoming_mail_fetcher = self._create_incoming_mail_fetcher(nicknym, soledad, account, auth.username)
+ incoming_mail_fetcher = self._create_incoming_mail_fetcher(nicknym, soledad, account, account_email)
smtp = LeapSmtp(self._provider, auth.username, auth.session_id, nicknym.keymanager)
@@ -150,17 +150,13 @@ class LeapSessionFactory(object):
else:
raise
- def _create_nicknym(self, username, token, uuid, soledad_session):
- return NickNym(self._provider, self._config, soledad_session, username, token, uuid)
+ def _create_nicknym(self, email_address, token, uuid, soledad_session):
+ return NickNym(self._provider, self._config, soledad_session, email_address, token, uuid)
def _create_account(self, uuid, soledad_session):
memstore = MemoryStore(permanent_store=SoledadStore(soledad_session.soledad))
return SoledadBackedAccount(uuid, soledad_session.soledad, memstore)
- def _create_incoming_mail_fetcher(self, nicknym, soledad_session, account, username):
+ def _create_incoming_mail_fetcher(self, nicknym, soledad_session, account, email_address):
return LeapIncomingMail(nicknym.keymanager, soledad_session.soledad, account,
- self._config.fetch_interval_in_s, self._account_email(username))
-
- def _account_email(self, username):
- domain = self._provider.domain
- return '%s@%s' % (username, domain)
+ self._config.fetch_interval_in_s, email_address)