Spaces:
Paused
Paused
| from services.recommend_app.buildin.buildin_retrieval import BuildInRecommendAppRetrieval | |
| from services.recommend_app.database.database_retrieval import DatabaseRecommendAppRetrieval | |
| from services.recommend_app.recommend_app_base import RecommendAppRetrievalBase | |
| from services.recommend_app.recommend_app_type import RecommendAppType | |
| from services.recommend_app.remote.remote_retrieval import RemoteRecommendAppRetrieval | |
| class RecommendAppRetrievalFactory: | |
| def get_recommend_app_factory(mode: str) -> type[RecommendAppRetrievalBase]: | |
| match mode: | |
| case RecommendAppType.REMOTE: | |
| return RemoteRecommendAppRetrieval | |
| case RecommendAppType.DATABASE: | |
| return DatabaseRecommendAppRetrieval | |
| case RecommendAppType.BUILDIN: | |
| return BuildInRecommendAppRetrieval | |
| case _: | |
| raise ValueError(f"invalid fetch recommended apps mode: {mode}") | |
| def get_buildin_recommend_app_retrieval(): | |
| return BuildInRecommendAppRetrieval | |