ciyidogan commited on
Commit
c8722c6
·
verified ·
1 Parent(s): 6f53f0b

Update tts/tts_factory.py

Browse files
Files changed (1) hide show
  1. tts/tts_factory.py +55 -55
tts/tts_factory.py CHANGED
@@ -1,56 +1,56 @@
1
- """
2
- TTS Provider Factory for Flare
3
- """
4
- from typing import Optional
5
- from tts_interface import TTSInterface
6
- from tts_elevenlabs import ElevenLabsTTS
7
- from tts_blaze import BlazeTTS
8
- from config.config_provider import ConfigProvider
9
- from utils.logger import log_info, log_error, log_debug, log_warning
10
-
11
- class TTSFactory:
12
- @staticmethod
13
- def create_provider() -> Optional[TTSInterface]:
14
- """Create TTS provider based on configuration"""
15
- cfg = ConfigProvider.get()
16
- tts_config = cfg.global_config.tts_provider
17
-
18
- if not tts_config or tts_config.name == "no_tts":
19
- log_info("🔇 No TTS provider configured")
20
- return None
21
-
22
- provider_name = tts_config.name
23
- log_info(f"🏭 Creating TTS provider: {provider_name}")
24
-
25
- # Get provider definition
26
- provider_def = cfg.global_config.get_provider_config("tts", provider_name)
27
- if not provider_def:
28
- log_info(f"⚠️ Unknown TTS provider: {provider_name}")
29
- return None
30
-
31
- # Get API key
32
- api_key = TTSFactory._get_api_key(tts_config)
33
- if not api_key and provider_def.requires_api_key:
34
- log_info(f"⚠️ No API key for TTS provider: {provider_name}")
35
- return None
36
-
37
- # Create provider based on name
38
- if provider_name == "elevenlabs":
39
- return ElevenLabsTTS(api_key)
40
- elif provider_name == "blaze":
41
- return BlazeTTS(api_key)
42
- else:
43
- log_info(f"⚠️ Unsupported TTS provider: {provider_name}")
44
- return None
45
-
46
- @staticmethod
47
- def _get_api_key(tts_config) -> Optional[str]:
48
- """Get decrypted API key"""
49
- if not tts_config.api_key:
50
- return None
51
-
52
- if tts_config.api_key.startswith("enc:"):
53
- from utils.encryption_utils import decrypt
54
- return decrypt(tts_config.api_key)
55
-
56
  return tts_config.api_key
 
1
+ """
2
+ TTS Provider Factory for Flare
3
+ """
4
+ from typing import Optional
5
+ from .tts_interface import TTSInterface
6
+ from .tts_elevenlabs import ElevenLabsTTS
7
+ from .tts_blaze import BlazeTTS
8
+ from config.config_provider import ConfigProvider
9
+ from utils.logger import log_info, log_error, log_debug, log_warning
10
+
11
+ class TTSFactory:
12
+ @staticmethod
13
+ def create_provider() -> Optional[TTSInterface]:
14
+ """Create TTS provider based on configuration"""
15
+ cfg = ConfigProvider.get()
16
+ tts_config = cfg.global_config.tts_provider
17
+
18
+ if not tts_config or tts_config.name == "no_tts":
19
+ log_info("🔇 No TTS provider configured")
20
+ return None
21
+
22
+ provider_name = tts_config.name
23
+ log_info(f"🏭 Creating TTS provider: {provider_name}")
24
+
25
+ # Get provider definition
26
+ provider_def = cfg.global_config.get_provider_config("tts", provider_name)
27
+ if not provider_def:
28
+ log_info(f"⚠️ Unknown TTS provider: {provider_name}")
29
+ return None
30
+
31
+ # Get API key
32
+ api_key = TTSFactory._get_api_key(tts_config)
33
+ if not api_key and provider_def.requires_api_key:
34
+ log_info(f"⚠️ No API key for TTS provider: {provider_name}")
35
+ return None
36
+
37
+ # Create provider based on name
38
+ if provider_name == "elevenlabs":
39
+ return ElevenLabsTTS(api_key)
40
+ elif provider_name == "blaze":
41
+ return BlazeTTS(api_key)
42
+ else:
43
+ log_info(f"⚠️ Unsupported TTS provider: {provider_name}")
44
+ return None
45
+
46
+ @staticmethod
47
+ def _get_api_key(tts_config) -> Optional[str]:
48
+ """Get decrypted API key"""
49
+ if not tts_config.api_key:
50
+ return None
51
+
52
+ if tts_config.api_key.startswith("enc:"):
53
+ from utils.encryption_utils import decrypt
54
+ return decrypt(tts_config.api_key)
55
+
56
  return tts_config.api_key