summary refs log tree commit diff
path: root/synapse/util
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/util')
-rw-r--r--synapse/util/caches/expiringcache.py7
-rw-r--r--synapse/util/msisdn.py40
2 files changed, 7 insertions, 40 deletions
diff --git a/synapse/util/caches/expiringcache.py b/synapse/util/caches/expiringcache.py
index 2987c38a2d..cbdde34a57 100644
--- a/synapse/util/caches/expiringcache.py
+++ b/synapse/util/caches/expiringcache.py
@@ -100,6 +100,13 @@ class ExpiringCache(object):
         except KeyError:
             return default
 
+    def setdefault(self, key, value):
+        try:
+            return self[key]
+        except KeyError:
+            self[key] = value
+            return value
+
     def _prune_cache(self):
         if not self._expiry_ms:
             # zero expiry time means don't expire. This should never get called
diff --git a/synapse/util/msisdn.py b/synapse/util/msisdn.py
deleted file mode 100644
index 607161e7f0..0000000000
--- a/synapse/util/msisdn.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Vector Creations Ltd
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import phonenumbers
-from synapse.api.errors import SynapseError
-
-
-def phone_number_to_msisdn(country, number):
-    """
-    Takes an ISO-3166-1 2 letter country code and phone number and
-    returns an msisdn representing the canonical version of that
-    phone number.
-    Args:
-        country (str): ISO-3166-1 2 letter country code
-        number (str): Phone number in a national or international format
-
-    Returns:
-        (str) The canonical form of the phone number, as an msisdn
-    Raises:
-            SynapseError if the number could not be parsed.
-    """
-    try:
-        phoneNumber = phonenumbers.parse(number, country)
-    except phonenumbers.NumberParseException:
-        raise SynapseError(400, "Unable to parse phone number")
-    return phonenumbers.format_number(
-        phoneNumber, phonenumbers.PhoneNumberFormat.E164
-    )[1:]