Skip to content

Commit

Permalink
beginning glacialTtsStorage feature
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesmadere committed Feb 4, 2025
1 parent a3581f2 commit 0090404
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 0 deletions.
Empty file.
Empty file.
22 changes: 22 additions & 0 deletions src/glacialTtsStorage/helper/glacialTtsHelperInterface.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from abc import ABC, abstractmethod

from ..models.glacialTtsData import GlacialTtsData
from ...tts.ttsProvider import TtsProvider


class GlacialTtsFileRetrieverInterface(ABC):

@abstractmethod
async def findFile(
self,
glacialData: GlacialTtsData
) -> str | None:
pass

@abstractmethod
async def saveFile(
self,
message: str,
provider: TtsProvider
) -> GlacialTtsData:
pass
Empty file.
12 changes: 12 additions & 0 deletions src/glacialTtsStorage/models/glacialTtsData.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from dataclasses import dataclass
from datetime import datetime

from ...tts.ttsProvider import TtsProvider


@dataclass(frozen = True)
class GlacialTtsData:
storeDateTime: datetime
glacialId: str
message: str
provider: TtsProvider
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from abc import ABC, abstractmethod

from ..models.glacialTtsData import GlacialTtsData
from ...tts.ttsProvider import TtsProvider


class GlacialTtsStorageRepositoryInterface(ABC):

@abstractmethod
async def add(
self,
message: str,
provider: TtsProvider
) -> GlacialTtsData:
pass

@abstractmethod
async def get(
self,
message: str,
provider: TtsProvider
) -> GlacialTtsData | None:
pass

@abstractmethod
async def remove(
self,
glacialId: str
):
pass
12 changes: 12 additions & 0 deletions src/tts/ttsProvider.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ class TtsProvider(Enum):
STREAM_ELEMENTS = auto()
TTS_MONSTER = auto()

@property
def databaseName(self) -> str:
match self:
case TtsProvider.DEC_TALK: return 'dec_talk'
case TtsProvider.GOOGLE: return 'google'
case TtsProvider.HALF_LIFE: return 'half_life'
case TtsProvider.MICROSOFT_SAM: return 'microsoft_sam'
case TtsProvider.SINGING_DEC_TALK: return 'dec_talk'
case TtsProvider.STREAM_ELEMENTS: return 'stream_elements'
case TtsProvider.TTS_MONSTER: return 'tts_monster'
case _: raise ValueError(f'Encountered unknown TtsProvider value: \"{self}\"')

@property
def humanName(self) -> str:
match self:
Expand Down

0 comments on commit 0090404

Please sign in to comment.