Skip to content

Commit 90debeb

Browse files
committed
Fix formatting in messages
1 parent e8d32de commit 90debeb

File tree

3 files changed

+29
-25
lines changed

3 files changed

+29
-25
lines changed

emmio/learn/teacher.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
SentencesCollection,
2222
SentenceTranslations,
2323
)
24-
from emmio.ui import Element, Interface
24+
from emmio.ui import Colorized, Element, Interface, Text
2525
from emmio.user.data import UserData
2626

2727
__author__ = "Sergey Vartanov"
@@ -411,7 +411,7 @@ def print_sentence(
411411
if show_index:
412412
text += f" ({index + 1}/{len(rated_sentences)})"
413413

414-
result: str = ""
414+
result: Text = Text()
415415

416416
words: list[tuple[str, SentenceElement]] = (
417417
sentence_translations.sentence.get_words(
@@ -422,15 +422,15 @@ def print_sentence(
422422

423423
for current_word, type_ in words:
424424
if type_ == SentenceElement.SYMBOL:
425-
result += current_word
425+
result.add(current_word)
426426
elif current_word.lower() == word:
427-
result += ESCAPE_CHARACTER * len(current_word)
427+
result.add(ESCAPE_CHARACTER * len(current_word))
428428
elif self.user_data.is_known_or_not_a_word(
429429
current_word.lower(), self.learning.learning_language
430430
):
431-
result += "[green]" + current_word + "[/green]"
431+
result.add(Colorized(current_word, color="green"))
432432
else:
433-
result += "[grey]" + current_word + "[/grey]"
433+
result.add(Colorized(current_word, color="grey"))
434434
all_known = False
435435

436436
self.interface.print(result)

emmio/run.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@
2424
from emmio.lists.frequency_list import FrequencyList
2525
from emmio.ui import (
2626
Block,
27+
Colorized,
28+
Formatted,
2729
Header,
2830
InlineElement,
2931
Interface,
3032
Table,
33+
Text,
3134
Title,
3235
progress,
3336
)
@@ -501,29 +504,30 @@ async def stat_lexicon(self) -> None:
501504
if rate_year_before is not None and rate is not None
502505
else 0.0
503506
)
504-
change_text: str = ""
507+
change_text: InlineElement
505508
match change:
506509
case float() as change if change >= 0.1:
507-
change_text = f"[green]▲ +{change:.1f}[/green]"
510+
change_text = Colorized(f"▲ +{change:.1f}", color="green")
508511
case float() as change if change <= -0.1:
509-
change_text = f"[red]{change:.1f}[/red]"
512+
change_text = Colorized(f"{change:.1f}", color="red")
510513
case _:
511-
change_text = ""
514+
change_text = Text("")
512515
if not rate:
513516
continue
514-
rows.append(
515-
[
516-
f"[bold]{lexicon.language.get_code()}[/bold]"
517-
f" {lexicon.language.get_name()}",
518-
progress(need),
519-
(
520-
f"{abs(rate):.1f} " + progress(int(rate * 10))
521-
if rate is not None
522-
else "N/A"
523-
),
524-
change_text,
525-
]
517+
code: Formatted = Formatted(
518+
lexicon.language.get_code(), format_="bold"
526519
)
520+
row: list[InlineElement | str] = [
521+
Text().add(code).add(" " + lexicon.language.get_name()),
522+
progress(need),
523+
(
524+
f"{abs(rate):.1f} " + progress(int(rate * 10))
525+
if rate is not None
526+
else "N/A"
527+
),
528+
change_text,
529+
]
530+
rows.append(row)
527531

528532
self.interface.print(
529533
Table(

tests/test_command_line/test_learn.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,15 @@ def test_learn_with_sentences(capsys: CaptureFixture[str]) -> None:
159159
Learn new words for Norwegian Bokmål
160160
New question.
161161
yes
162-
[green]hei[/green], [grey]Maria[/grey], __
162+
hei, Maria, __
163163
hi, Maria, yes
164-
__, [grey]Maria[/grey]
164+
__, Maria
165165
yes, Maria
166166
ja
167167
yes
168168
New question.
169169
what
170-
___? [green]ja[/green]!
170+
___? ja!
171171
<Reveal translations>
172172
what? yes!
173173
hva

0 commit comments

Comments
 (0)