|
3 | 3 | from typing import Union |
4 | 4 |
|
5 | 5 | from box import Box |
6 | | -from iso639 import Lang, iter_langs |
| 6 | +from iso639 import iter_langs |
7 | 7 | from iso639.exceptions import InvalidLanguageValue |
8 | 8 | from PySide6 import QtCore, QtGui, QtWidgets |
9 | 9 |
|
10 | | -from fastflix.language import t |
| 10 | +from fastflix.language import t, Language |
11 | 11 | from fastflix.models.encode import SubtitleTrack |
12 | 12 | from fastflix.models.fastflix_app import FastFlixApp |
13 | 13 | from fastflix.resources import loading_movie, get_icon |
|
40 | 40 | "xsub": "text", |
41 | 41 | } |
42 | 42 |
|
43 | | -language_list = [v.name for v in iter_langs() if v.pt2b and v.pt1] |
| 43 | +language_list = [v.name for v in iter_langs() if v.pt2b and v.pt1] + ["Undefined"] |
44 | 44 |
|
45 | 45 | # TODO give warning about exact time needed for text based subtitles |
46 | 46 |
|
@@ -177,7 +177,7 @@ def init_language(self, sub_track: SubtitleTrack): |
177 | 177 | self.widgets.language.addItems(language_list) |
178 | 178 | self.widgets.language.setMaximumWidth(110) |
179 | 179 | try: |
180 | | - self.widgets.language.setCurrentIndex(language_list.index(Lang(sub_track.language).name)) |
| 180 | + self.widgets.language.setCurrentIndex(language_list.index(Language(sub_track.language).name)) |
181 | 181 | except Exception: |
182 | 182 | self.widgets.language.setCurrentIndex(language_list.index("English")) |
183 | 183 | self.widgets.language.currentIndexChanged.connect(self.page_update) |
@@ -212,7 +212,7 @@ def enabled(self): |
212 | 212 |
|
213 | 213 | @property |
214 | 214 | def language(self): |
215 | | - return Lang(self.widgets.language.currentText()).pt2b |
| 215 | + return Language(self.widgets.language.currentText()).pt2b |
216 | 216 |
|
217 | 217 | @property |
218 | 218 | def burn_in(self): |
@@ -295,11 +295,11 @@ def lang_match(self, track: Union[Subtitle, dict], ignore_first=False): |
295 | 295 | self._first_selected = True |
296 | 296 | return True |
297 | 297 | try: |
298 | | - track_lang = Lang(language) |
| 298 | + track_lang = Language(language) |
299 | 299 | except InvalidLanguageValue: |
300 | 300 | return True |
301 | 301 | else: |
302 | | - if Lang(self.app.fastflix.config.opt("subtitle_language")) == track_lang: |
| 302 | + if Language(self.app.fastflix.config.opt("subtitle_language")) == track_lang: |
303 | 303 | if ( |
304 | 304 | not ignore_first |
305 | 305 | and self.app.fastflix.config.opt("subtitle_select_first_matching") |
|
0 commit comments