+
+ def extract_phone_numbers(node):
+ country = extract(get_first_tag(node, 'country'), 'code')
+ tag = get_first_tag(node, 'phone-numbers')
+ numbers = []
+ for element in tag.childNodes:
+ if element.nodeName != 'phone-number':
+ continue
+
+ phone_type = extract(element, 'phone-type')
+ device = phone_type == 'mobile' and phone_type or None
+ type = phone_type in set(['home', 'work']) and phone_type or None
+
+ number = PhoneNumber(extract(element, 'phone-number'), device = device, type = type, country = country)
+ numbers.append(number)
+ return numbers