From 87f51d7a3aa6b8c9b8d368a2458e9d8411d0ef40 Mon Sep 17 00:00:00 2001 From: Hellow2 Date: Wed, 29 Mar 2023 09:53:08 +0200 Subject: [PATCH] implemented the choose_page function --- src/music_kraken/pages/download_center/search.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/music_kraken/pages/download_center/search.py b/src/music_kraken/pages/download_center/search.py index 0307b84..fe2617b 100644 --- a/src/music_kraken/pages/download_center/search.py +++ b/src/music_kraken/pages/download_center/search.py @@ -129,11 +129,13 @@ class Search: option_digits=self.option_digits ) self._option_history.append(mpo) + self._current_option = mpo return mpo @property def previous_options(self) -> MultiPageOptions: self._option_history.pop() + self._current_option = self._option_history[-1] return self._option_history[-1] def search(self, query: str): @@ -150,7 +152,15 @@ class Search: self._current_option[page] = page.search_by_query(query=query) def choose_page(self, page: Type[Page]) -> MultiPageOptions: - pass + if page not in page_attributes.ALL_PAGES: + raise ValueError(f"Page \"{page.__name__}\" does not exist in page_attributes.ALL_PAGES") + + prev_mpo = self._current_option + mpo = self.next_options + + mpo[page] = prev_mpo[page] + return mpo + def choose_index(self, index: int) -> MultiPageOptions: pass