def country_code_response(self): gateway = self.data.get('gateway') try: backend = SMSBackend.get(gateway) backend_api_id = get_backend_by_class_name( backend.doc_type).get_api_id() except Exception: return [] direction = self.data.get('direction') criteria_query = SmsGatewayFeeCriteria.objects.filter( direction=direction, backend_api_id=backend_api_id) country_codes = criteria_query.exclude( country_code__exact=None).values_list('country_code', flat=True).distinct() final_codes = [] countries = dict(COUNTRIES) for code in country_codes: cc = COUNTRY_CODE_TO_REGION_CODE.get(code) country_name = force_unicode(countries.get(cc[0])) if cc else '' final_codes.append((code, country_name)) search_term = self.data.get('searchString') if search_term: search_term = search_term.lower().replace('+', '') final_codes = filter( lambda x: (str(x[0]).startswith(search_term) or x[1].lower(). startswith(search_term)), final_codes) final_codes = [(c[0], "+%s%s" % (c[0], " (%s)" % c[1] if c[1] else '')) for c in final_codes] if criteria_query.filter(country_code__exact=None).exists(): final_codes.append( (NONMATCHING_COUNTRY, _('Any Country (Delivery not guaranteed via connection)'))) return final_codes
def country_code_response(self): gateway = self.data.get('gateway') try: backend = SMSBackend.get(gateway) backend_api_id = get_backend_by_class_name(backend.doc_type).get_api_id() except Exception: return [] direction = self.data.get('direction') criteria_query = SmsGatewayFeeCriteria.objects.filter( direction=direction, backend_api_id=backend_api_id ) country_codes = criteria_query.exclude( country_code__exact=None ).values_list('country_code', flat=True).distinct() final_codes = [] countries = dict(COUNTRIES) for code in country_codes: cc = COUNTRY_CODE_TO_REGION_CODE.get(code) country_name = force_unicode(countries.get(cc[0])) if cc else '' final_codes.append((code, country_name)) search_term = self.data.get('searchString') if search_term: search_term = search_term.lower().replace('+', '') final_codes = filter( lambda x: (str(x[0]).startswith(search_term) or x[1].lower().startswith(search_term)), final_codes ) final_codes = [(c[0], "+%s%s" % (c[0], " (%s)" % c[1] if c[1] else '')) for c in final_codes] if criteria_query.filter(country_code__exact=None).exists(): final_codes.append(( NONMATCHING_COUNTRY, _('Any Country (Delivery not guaranteed via connection)') )) return final_codes
def country_name_from_isd_code_or_empty(isd_code): cc = COUNTRY_CODE_TO_REGION_CODE.get(isd_code) return force_str(COUNTRIES.get(cc[0])) if cc else ''
def country_name_from_isd_code_or_empty(isd_code): cc = COUNTRY_CODE_TO_REGION_CODE.get(isd_code) return force_unicode(COUNTRIES.get(cc[0])) if cc else ''