Coverage for centralnicreseller / apiconnector / idnaconverter.py: 86%
35 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-21 15:25 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-21 15:25 +0000
1from centralnicreseller.apiconnector.idnaprocessor import IDNAProcessor
4class IDNAConverter:
5 def __init__(self, idn=None, pc=None, idn_list=None, pc_list=None):
6 self.idn = idn
7 self.pc = pc
8 self.idn_list = idn_list if idn_list is not None else []
9 self.pc_list = pc_list if pc_list is not None else []
11 @staticmethod
12 def convert(domain_name, use_transitional=None):
13 try:
14 pc = IDNAProcessor.to_ascii(domain_name, use_transitional)
15 idn = IDNAProcessor.to_unicode(domain_name, use_transitional)
16 return IDNAConverter(idn=idn, pc=pc)
17 except Exception:
18 return IDNAConverter(idn=domain_name, pc=domain_name)
20 @staticmethod
21 def convert_list(domain_names, use_transitional=None):
22 idn_results = []
23 pc_results = []
25 for domain_name in domain_names:
26 try:
27 pc_results.append(IDNAProcessor.to_ascii(domain_name, use_transitional))
28 idn_results.append(
29 IDNAProcessor.to_unicode(domain_name, use_transitional)
30 )
31 except Exception:
32 pc_results.append(domain_name)
33 idn_results.append(domain_name)
35 return IDNAConverter(idn_list=idn_results, pc_list=pc_results)
37 def get_idn(self):
38 return self.idn
40 def get_pc(self):
41 return self.pc
43 def get_idn_list(self):
44 return self.idn_list
46 def get_pc_list(self):
47 return self.pc_list