MattyMroz's picture
mm_avh_working_space
068ed60
"""
This module provides the Config class.
The Config class contains static methods to get the configuration options.
These options include available translators, translation options, voice actors for text-to-speech, and output options.
* Example usage:
translators = Config.get_translators()
translation_options = Config.get_translation_options()
voice_actors = Config.get_voice_actors()
output_options = Config.get_output()
"""
from dataclasses import dataclass
from typing import List, Dict
@dataclass(slots=True)
class Config:
"""
Config class contains static methods to get the configuration options.
Methods:
- get_translators() -> List[Dict[str, str]] - Returns a list of available translators.
- get_translation_options() -> List[Dict[str, str]] - Returns a list of available translation options.
- get_voice_actors() -> List[Dict[str, str]] - Returns a list of available voice actors for text-to-speech.
- get_output() -> List[Dict[str, str]] - Returns a list of available output options.
"""
@staticmethod
def get_translators() -> List[Dict[str, str]]:
"""
Returns a list of available translators.
Each translator is represented as a dictionary with the following keys:
- 'name': The name of the translator.
- 'suboptions' (optional): A list of suboptions for the translator.
Returns:
List[Dict[str, str]]: A list of translators.
"""
return [
{'name': 'Google Translate'},
{'name': 'DeepL API'},
{'name': 'DeepL Desktop Free'},
{
'name': 'ChatGPT',
'suboptions': [
{'name': 'ChatGPT + Google Translate'}
],
},
]
@staticmethod
def get_translation_options() -> List[Dict[str, str]]:
"""
Returns a list of available translation options.
Each option is represented as a dictionary with the following key:
- 'name': The name of the option.
Returns:
List[Dict[str, str]]: A list of translation options.
"""
return [
{'name': '10'},
{'name': '20'},
{'name': '30'},
{'name': '40'},
{'name': '50'},
{'name': '60'},
{'name': '70'},
{'name': '80'},
{'name': '90'},
{'name': '100'},
]
@staticmethod
def get_voice_actors() -> List[Dict[str, str]]:
"""
Returns a list of available voice actors for text-to-speech.
Each voice actor is represented as a dictionary with the following keys:
- 'name': The name of the voice actor.
- 'description': A dictionary containing the description of the voice actor, including:
- 'speed': The speed of the voice actor.
- 'volume': The volume of the voice actor.
- 'default_options': A dictionary containing the default options for the voice actor, including:
- 'default_voice_speed': The default speed of the voice actor.
- 'default_voice_volume': The default volume of the voice actor.
Returns:
List[Dict[str, str]]: A list of voice actors.
"""
return [
{
'name': 'TTS - Zosia - Harpo',
'description': {
'speed': 'Szybkość głosu od 0 do ... (słowa na minutę), domyślna: 200',
'volume': 'Głośność głosu od 0 do 1, domyślna: 0.7',
},
'default_options': {
'default_voice_speed': '200',
'default_voice_volume': '0.7',
},
},
{
'name': 'TTS - Agnieszka - Ivona',
'description': {
'speed': 'Szybkość głosu od -10 do 10, domyślna: 5',
'volume': 'Głośność głosu od 0 do 100, domyślna: 65',
},
'default_options': {
'default_voice_speed': '5',
'default_voice_volume': '65',
},
},
{
'name': 'TTS - Zofia - Edge',
'description': {
'speed': 'Szybkość głosu (+/- ? %) od -100% do +100%, domyślna: +40%',
'volume': 'Głośność głosu (+/- ? %) od -100% do +100%, domyślna: +0%',
},
'default_options': {
'default_voice_speed': '+40%',
'default_voice_volume': '+0%',
},
},
{
'name': 'TTS - Marek - Edge',
'description': {
'speed': 'Szybkość głosu (+/- ? %) od -100% do +100%, domyślna: +40%',
'volume': 'Głośność głosu (+/- ? %) od -100% do +100%, domyślna: +0%',
},
'default_options': {
'default_voice_speed': '+40%',
'default_voice_volume': '+0%',
},
},
{
'name': 'TTS - *Głos* - ElevenLans',
'description': {
'speed': 'Szybkość głosu: Auto',
'volume': 'Głośność głou: Auto',
},
'default_options': {
'default_voice_speed': 'auto',
'default_voice_volume': 'auto',
},
},
]
@staticmethod
def get_output() -> List[Dict[str, str]]:
"""
Returns a list of available output options.
Each option is represented as a dictionary with the following key:
- 'name': The name of the output option.
Returns:
List[Dict[str, str]]: A list of output options.
"""
return [
{'name': 'Oglądam w MM_AVH_Players (wynik: napisy i audio)'},
{'name': 'Scal do mkv'},
{'name': 'Wypal do mp4'},
]