-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstrings.py
More file actions
69 lines (57 loc) · 2.6 KB
/
strings.py
File metadata and controls
69 lines (57 loc) · 2.6 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
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
from enum import Enum
from locales.localization import Localization
localization = Localization()
class Source(Enum):
RBC = "rbc"
class NewsCategory(Enum):
ECONOMY = "economy"
POLITICS = "politics"
SOCIETY = "society"
CULTURE = "culture"
SCIENCE = "science"
TECHNOLOGY = "technology"
SPORTS = "sport"
HEALTH = "health"
BUSINESS = "business"
EDUCATION = "education"
ENVIRONMENT = "environment"
TOURISM = "tourism"
def get_source_name(source: Source) -> str:
return localization.get_string(f"sources.{source.value}")
def get_category_name(category: NewsCategory) -> str:
return localization.get_string(f"categories.{category.value}")
predefined_sources = lambda: {
Source.RBC: get_source_name(Source.RBC),
}
predefined_categories = lambda: {
NewsCategory.ECONOMY: get_category_name(NewsCategory.ECONOMY),
NewsCategory.POLITICS: get_category_name(NewsCategory.POLITICS),
NewsCategory.SOCIETY: get_category_name(NewsCategory.SOCIETY),
NewsCategory.CULTURE: get_category_name(NewsCategory.CULTURE),
NewsCategory.SCIENCE: get_category_name(NewsCategory.SCIENCE),
NewsCategory.TECHNOLOGY: get_category_name(NewsCategory.TECHNOLOGY),
NewsCategory.SPORTS: get_category_name(NewsCategory.SPORTS),
NewsCategory.HEALTH: get_category_name(NewsCategory.HEALTH),
NewsCategory.BUSINESS: get_category_name(NewsCategory.BUSINESS),
NewsCategory.EDUCATION: get_category_name(NewsCategory.EDUCATION),
NewsCategory.ENVIRONMENT: get_category_name(NewsCategory.ENVIRONMENT),
NewsCategory.TOURISM: get_category_name(NewsCategory.TOURISM),
}
NEWS_SUBSRIPTION = lambda: localization.get_string("news_subscription")
NEWS_UNSUBSRIPTION = lambda: localization.get_string("news_unsubscription")
CANCEL_CHECKBOX = lambda: localization.get_string("cancel_checkbox")
CHECK_NEWS_SOURCES = lambda: localization.get_string("check_news_sources")
CHECK_NEWS_CATEGORIES = lambda: localization.get_string("check_news_categories")
WARNING_NO_SOURCES = lambda: localization.get_string("warning_no_sources")
WARNING_NO_CATEGORIES = lambda: localization.get_string("warning_no_categories")
READY_CHECKBOX = lambda: localization.get_string("ready_checkbox")
HELP_MESSAGE = lambda: localization.get_string("help_message")
CATEGORIES_SELECTED = lambda: localization.get_string("categories_selected")
SOURCES_SELECTED = lambda: localization.get_string("sources_selected")
def markup_news(title: str, news_text: str, tags: list[NewsCategory]):
tickers = []
for tag in tags:
tickers.append(f"#{tag.value.lower()}")
return f"""**{title}**
{news_text}
{" ".join(tickers)}"""