Skip to content

Commit 21d0a2b

Browse files
authored
Update morse.py - formatting
1 parent 0fd8bd8 commit 21d0a2b

File tree

1 file changed

+126
-137
lines changed

1 file changed

+126
-137
lines changed

pythainlp/util/morse.py

Lines changed: 126 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,133 @@
11
# -*- coding: utf-8 -*-
22
# SPDX-FileCopyrightText: Copyright 2016-2023 PyThaiNLP Project
33
# SPDX-License-Identifier: Apache-2.0
4+
45
THAI_MORSE_CODE = {
5-
'ก': '--.',
6-
'ข': '-.-.',
7-
'ค': '-.-',
8-
'ฆ': '-.-',
9-
'ง': '-.--.',
10-
'จ': '-..-.',
11-
'ฉ': '----',
12-
'ช': '-..-',
13-
'ฌ': '-..-',
14-
'ซ': '--..',
15-
'ญ': '.---',
16-
'ด': '-..',
17-
'ถ': '-.-..',
18-
'ฐ': '-.-..',
19-
'ฑ': '-..--',
20-
'ฒ': '-..--',
21-
'ท': '-..--',
22-
'ธ': '-..--',
23-
'ณ': '-.',
24-
'น': '-.',
25-
'บ': '-...',
26-
'ป': '.--.',
27-
'ผ': '--.-',
28-
'ฝ': '-.-.-',
29-
'พ': '.--..',
30-
'ภ': '.--..',
31-
'ฟ': '..-.',
32-
'ม': '--',
33-
'ย': '-.--',
34-
'ร': '.-.',
35-
'ล': '.-..',
36-
'ฬ': '.-..',
37-
'ว': '.--',
38-
'ศ': '...',
39-
'ษ': '...',
40-
'ส': '...',
41-
'ห': '....',
42-
'ฮ': '--.--',
43-
'ฎ': '-..',
44-
'ต': '-',
45-
'ฏ': '-',
46-
'ฤ': '.-.--',
47-
'่': '..-',
48-
'้': '...-',
49-
'๊': '--...',
50-
'๋': '.-.-.',
51-
'ั': '.--.-',
52-
'็': '---..',
53-
'์': '--..-',
54-
'ั้': '.---.',
55-
'ฯ': '--.-.',
56-
'ฯลฯ': '---.-',
57-
'ๆ': '---.-',
58-
'ะ': '.-...',
59-
'า': '.-',
60-
'ิ': '..-..',
61-
'ี': '..',
62-
'ึ': '..--.',
63-
'ื': '..--',
64-
'ุ': '..-.-',
65-
'ู': '---.',
66-
'เ': '.',
67-
'แ': '.-.-',
68-
'โ': '---',
69-
'ไ': '.-..-',
70-
'ใ': '.-..-',
71-
'ำ': '...-.',
72-
'อ': '-...-'
6+
"ก": "--.",
7+
"ข": "-.-.",
8+
"ค": "-.-",
9+
"ฆ": "-.-",
10+
"ง": "-.--.",
11+
"จ": "-..-.",
12+
"ฉ": "----",
13+
"ช": "-..-",
14+
"ฌ": "-..-",
15+
"ซ": "--..",
16+
"ญ": ".---",
17+
"ด": "-..",
18+
"ถ": "-.-..",
19+
"ฐ": "-.-..",
20+
"ฑ": "-..--",
21+
"ฒ": "-..--",
22+
"ท": "-..--",
23+
"ธ": "-..--",
24+
"ณ": "-.",
25+
"น": "-.",
26+
"บ": "-...",
27+
"ป": ".--.",
28+
"ผ": "--.-",
29+
"ฝ": "-.-.-",
30+
"พ": ".--..",
31+
"ภ": ".--..",
32+
"ฟ": "..-.",
33+
"ม": "--",
34+
"ย": "-.--",
35+
"ร": ".-.",
36+
"ล": ".-..",
37+
"ฬ": ".-..",
38+
"ว": ".--",
39+
"ศ": "...",
40+
"ษ": "...",
41+
"ส": "...",
42+
"ห": "....",
43+
"ฮ": "--.--",
44+
"ฎ": "-..",
45+
"ต": "-",
46+
"ฏ": "-",
47+
"ฤ": ".-.--",
48+
"่": "..-",
49+
"้": "...-",
50+
"๊": "--...",
51+
"๋": ".-.-.",
52+
"ั": ".--.-",
53+
"็": "---..",
54+
"์": "--..-",
55+
"ั้": ".---.",
56+
"ฯ": "--.-.",
57+
"ฯลฯ": "---.-",
58+
"ๆ": "---.-",
59+
"ะ": ".-...",
60+
"า": ".-",
61+
"ิ": "..-..",
62+
"ี": "..",
63+
"ึ": "..--.",
64+
"ื": "..--",
65+
"ุ": "..-.-",
66+
"ู": "---.",
67+
"เ": ".",
68+
"แ": ".-.-",
69+
"โ": "---",
70+
"ไ": ".-..-",
71+
"ใ": ".-..-",
72+
"ำ": "...-.",
73+
"อ": "-...-",
7374
}
75+
7476
ENGLISH_MORSE_CODE = {
75-
'A': '.-',
76-
'B': '-...',
77-
'C': '-.-.',
78-
'D': '-..',
79-
'E': '.',
80-
'F': '..-.',
81-
'G': '--.',
82-
'H': '....',
83-
'I': '..',
84-
'J': '.---',
85-
'K': '-.-',
86-
'L': '.-..',
87-
'M': '--',
88-
'N': '-.',
89-
'O': '---',
90-
'P': '.--.',
91-
'Q': '--.-',
92-
'R': '.-.',
93-
'S': '...',
94-
'T': '-',
95-
'U': '..-',
96-
'V': '...-',
97-
'W': '.--',
98-
'X': '-..-',
99-
'Y': '-.--',
100-
'Z': '--..',
101-
'0': '-----',
102-
',': '--..--',
103-
'1': '.----',
104-
'.': '.-.-.-',
105-
'2': '..---',
106-
'?': '..--..',
107-
'3': '...--',
108-
';': '-.-.-.',
109-
'4': '....-',
110-
':': '---...',
111-
'5': '.....',
112-
"'": '.----.',
113-
'6': '-....',
114-
'-': '-....-',
115-
'7': '--...',
116-
'/': '-..-.',
117-
'8': '---..',
118-
'(': '-.--.-'
77+
"A": ".-",
78+
"B": "-...",
79+
"C": "-.-.",
80+
"D": "-..",
81+
"E": ".",
82+
"F": "..-.",
83+
"G": "--.",
84+
"H": "....",
85+
"I": "..",
86+
"J": ".---",
87+
"K": "-.-",
88+
"L": ".-..",
89+
"M": "--",
90+
"N": "-.",
91+
"O": "---",
92+
"P": ".--.",
93+
"Q": "--.-",
94+
"R": ".-.",
95+
"S": "...",
96+
"T": "-",
97+
"U": "..-",
98+
"V": "...-",
99+
"W": ".--",
100+
"X": "-..-",
101+
"Y": "-.--",
102+
"Z": "--..",
103+
"0": "-----",
104+
",": "--..--",
105+
"1": ".----",
106+
".": ".-.-.-",
107+
"2": "..---",
108+
"?": "..--..",
109+
"3": "...--",
110+
";": "-.-.-.",
111+
"4": "....-",
112+
":": "---...",
113+
"5": ".....",
114+
"'": ".----.",
115+
"6": "-....",
116+
"-": "-....-",
117+
"7": "--...",
118+
"/": "-..-.",
119+
"8": "---..",
120+
"(": "-.--.-",
119121
}
120122

121123
decodingeng = {}
122124
for key, val in ENGLISH_MORSE_CODE.items():
123125
decodingeng[val] = key
126+
124127
decodingthai = {}
125128
for key, val in THAI_MORSE_CODE.items():
126129
decodingthai[val.replace(" ", "")] = key
130+
127131
for key, val in THAI_MORSE_CODE.items():
128132
THAI_MORSE_CODE[key] = val.replace(" ", "")
129133

@@ -147,20 +151,12 @@ def morse_encode(text: str, lang: str = "th") -> str:
147151
# output: -.-. .- -
148152
"""
149153
if lang == "th": # Thai
150-
return ' '.join(
151-
map(
152-
lambda x,
153-
g=THAI_MORSE_CODE.get: g(x, ' '),
154-
text.upper()
155-
)
154+
return " ".join(
155+
map(lambda x, g=THAI_MORSE_CODE.get: g(x, " "), text.upper())
156156
)
157157
elif lang == "en": # English
158-
return ' '.join(
159-
map(
160-
lambda x,
161-
g=ENGLISH_MORSE_CODE.get: g(x, ' '),
162-
text.upper()
163-
)
158+
return " ".join(
159+
map(lambda x, g=ENGLISH_MORSE_CODE.get: g(x, " "), text.upper())
164160
)
165161
else:
166162
raise NotImplementedError(f"This function doesn't support {lang}.")
@@ -188,21 +184,14 @@ def morse_decode(morse_text: str, lang: str = "th") -> str:
188184
# output: CAT
189185
"""
190186
if lang == "th":
191-
ans = ''.join(
192-
map(
193-
lambda x,
194-
g=decodingthai.get: g(x, ''),
195-
morse_text.split(' '))
187+
ans = "".join(
188+
map(lambda x, g=decodingthai.get: g(x, ""), morse_text.split(" "))
196189
)
197-
return ''.join(ans.split())
190+
return "".join(ans.split())
198191
elif lang == "en":
199-
ans = ''.join(
200-
map(
201-
lambda x,
202-
g=decodingeng.get: g(x, ' '),
203-
morse_text.split(' ')
204-
)
192+
ans = "".join(
193+
map(lambda x, g=decodingeng.get: g(x, " "), morse_text.split(" "))
205194
)
206-
return ' '.join(ans.split())
195+
return " ".join(ans.split())
207196
else:
208197
raise NotImplementedError(f"This function doesn't support {lang}.")

0 commit comments

Comments
 (0)