From ffaf7cb2ba82ad1f896eed122da5e1e2ec6c0f1c Mon Sep 17 00:00:00 2001 From: Umair Khan Date: Thu, 4 Aug 2016 12:59:15 +0500 Subject: [PATCH] Create get_connection function for APNS. --- zerver/lib/push_notifications.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/zerver/lib/push_notifications.py b/zerver/lib/push_notifications.py index d7c570f802..27febf8973 100644 --- a/zerver/lib/push_notifications.py +++ b/zerver/lib/push_notifications.py @@ -92,21 +92,23 @@ def response_listener(error_response, connection): except PushDeviceToken.DoesNotExist: pass -if settings.APNS_CERT_FILE is not None and os.path.exists(settings.APNS_CERT_FILE): +def get_connection(cert_file, key_file): connection = APNs(use_sandbox=settings.APNS_SANDBOX, - cert_file=settings.APNS_CERT_FILE, - key_file=settings.APNS_KEY_FILE, + cert_file=cert_file, + key_file=key_file, enhanced=True) connection.gateway_server.register_response_listener( partial(response_listener, connection=connection)) + return connection + +if settings.APNS_CERT_FILE is not None and os.path.exists(settings.APNS_CERT_FILE): + connection = get_connection(settings.APNS_CERT_FILE, + settings.APNS_KEY_FILE) + if settings.DBX_APNS_CERT_FILE is not None and os.path.exists(settings.DBX_APNS_CERT_FILE): - dbx_connection = APNs(use_sandbox=settings.APNS_SANDBOX, - cert_file=settings.DBX_APNS_CERT_FILE, - key_file=settings.DBX_APNS_KEY_FILE, - enhanced=True) - dbx_connection.gateway_server.register_response_listener( - partial(response_listener, connection=dbx_connection)) + dbx_connection = get_connection(settings.DBX_APNS_CERT_FILE, + settings.DBX_APNS_KEY_FILE) def num_push_devices_for_user(user_profile, kind = None): # type: (UserProfile, Optional[int]) -> PushDeviceToken