Spaces:
Sleeping
Sleeping
| import configparser | |
| import logging | |
| import search_engine_model as sem | |
| import search_engine_interface as sei | |
| class SearchEngineApp(): | |
| def __init__(self): | |
| self.logger = logging.getLogger(__name__) | |
| logging.basicConfig(level=logging.INFO) | |
| self.config_manager_obj = configparser.ConfigParser() | |
| self.config_manager_obj.read('./config.cfg') | |
| host_ip_address = self.config_manager_obj['SERVER']['host_ip_address'] | |
| port_number = int(self.config_manager_obj['SERVER']['port_number']) | |
| self.interface_manager_obj = sei.SearchEngineInterface(host_ip_address, port_number) | |
| image_root_dir = self.config_manager_obj['SEARCH_ENGINE']['image_root_dir'] | |
| csv_file_path = self.config_manager_obj['SEARCH_ENGINE']['csv_file_path'] | |
| self.model_manager_obj = sem.SearchEngineModel(image_root_dir, csv_file_path) | |
| self.interface_manager_obj.set_search_button_handler_func(self.search_images) | |
| self.interface_manager_obj.build() | |
| # PRECONDITION: We assume that only text_prompt or image_prompt | |
| # will be different from None. | |
| def search_images(self, text_prompt, image_prompt, prompt_type, nofimages_to_show): | |
| search_result = None | |
| if ((prompt_type=='Text') and (text_prompt!=None) and (len(text_prompt.strip())>0)): | |
| search_result = self.model_manager_obj.search_image_by_text_prompt(text_prompt, | |
| nofimages_to_show) | |
| if ((prompt_type=='Image') and (image_prompt!=None)): | |
| search_result = self.model_manager_obj.search_image_by_image_prompt(image_prompt, | |
| nofimages_to_show) | |
| self.interface_manager_obj.update(search_result) | |
| return search_result | |
| def run(self): | |
| self.interface_manager_obj.run() | |
| def main(): | |
| app_manager_obj = SearchEngineApp() | |
| app_manager_obj.run() | |
| main() |