-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathutils.py
More file actions
44 lines (33 loc) · 1.26 KB
/
utils.py
File metadata and controls
44 lines (33 loc) · 1.26 KB
1
2
3
4
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
from typing import Optional
from dataclass import Word, Definition
def italics(string: str) -> str:
return f"_{string}_"
def bold(string: str) -> str:
return f"*{string}*"
def format_definitions(word: Optional[Word] = None) -> Optional[str]:
if not word or not word.definitions: return None
message = f"{bold("Definitions")}\n"
for definition in word.definitions:
def_string = f"{definition.part_of_speech} : {definition.text}"
message += f"{def_string}\n\n"
return message
def format_example(word: Optional[Word] = None) -> Optional[str]:
if not word or not word.example:
return None
message = f"{bold("Examples")}\n"
message += f"{word.example}\n\n"
return message
def format_synonyms(word: Optional[Word] = None) -> Optional[str]:
if not word or not word.synonyms:
return None
message = f"{bold("Synonyms")}\n"
for synonym in word.synonyms:
message += f"{synonym}\n"
return message
def format_antonyms(word: Optional[Word] = None) -> Optional[str]:
if not word or not word.antonyms:
return None
message = f"{bold("Antonyms")}\n"
for antonym in word.antonyms:
message += f"{antonym}\n"
return message