DanielIglesias97's picture
First upload of the CLIP_Image_Search code to this repository.
11c750c
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()