当前位置: 首页>>代码示例>>Python>>正文


Python Search.searchFromList方法代码示例

本文整理汇总了Python中search.Search.searchFromList方法的典型用法代码示例。如果您正苦于以下问题:Python Search.searchFromList方法的具体用法?Python Search.searchFromList怎么用?Python Search.searchFromList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在search.Search的用法示例。


在下文中一共展示了Search.searchFromList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Main

# 需要导入模块: from search import Search [as 别名]
# 或者: from search.Search import searchFromList [as 别名]
class Main(object):
	
	def __init__(self):
		
		# Testimoodi pois päältä oletuksena. Testimoodissa mm. AskUserInput metodit käyttävät kysymystä syötteenä.
		self.testMode = False
		
		self.mainMenuTitles = ["1. Varastotilanne", "2. Raaka-aineet", "3. Reseptit","4. Haku","5. Tallenna", "6. Lataa", "0. Sulje ohjelma"]
		self.storageMenuTitles = ["1. Kerro lisätietoja raaka-aineesta", "2. Näytä varastotilanne", "0. Takaisin"]
		self.ingredientsMenuTitles = ["1. Kerro lisätietoja raaka-aineesta", "2. Listaa raaka-aineet", "0. Takaisin"]
		self.recipesMenuTitles = ["1. Kerro lisätietoja reseptistä", "2. Listaa reseptit", "0. Takaisin"]
		self.searchMenuTitles = ["1. Kerro lisätietoja reseptistä", "2. Reseptit, joissa raaka-aine esiintyy", "3. Sopii allergikolle", "4. Reseptit, joihin varastotarvikkeet riittävät", "5. Reseptit, joista puuttuu N-määrä raaka-aineita varastosta", "6. Reseptit, joista löytyy N-määrä raaka-aineita varastosta", "0. Takaisin"]
		self.saveMenuTitles =  ["1. Tallenna kaikki", "2. Tallenna reseptit", "3. Tallenna raaka-aineet", "4. Tallenna varasto", "0. Takaisin"]
		self.loadMenuTitles =  ["1. Lataa kaikki", "2. Lataa reseptit", "3. Lataa raaka-aineet", "4. Lataa varasto", "0. Takaisin"]
		
		self.storageFile='varasto.csv'
		self.recipesFile='reseptit.txt'
		self.ingredientsFile='raaka_aineet.txt'
		self.IO = IO()
		
		
		self.ingredientsList = []
		self.recipesList = []
		self.storageList = []
		
		self.search = Search()
		
		self.loadFromFileToList(INGREDIENTS)
		self.loadFromFileToList(RECIPES)
		self.loadFromFileToList(STORAGE)
		self.IO.loadRecipesForIngredients(self.ingredientsList, self.recipesList)
		

		
	def openFileUTF8(self,file):
		
		try:
			fileIO = codecs.open(file, "r", "utf-8")
			return fileIO
		except IOError:
			print("Tiedoston",file,"avaaminen ei onnistu.") 
			return 0
	
	def loadFromFileToList(self, listType):
		
		try:		
			if listType == INGREDIENTS:
				self.ingredientsList = []
				fileIO = self.openFileUTF8(self.ingredientsFile)
				self.ingredientsList, self.ingredientsSuccess, self.ingredientsError = self.IO.loadIngredients(fileIO)
			elif listType == RECIPES:
				self.recipesList = []
				fileIO = self.openFileUTF8(self.recipesFile)
				self.recipesList, self.recipesSuccess, self.recipesError = self.IO.loadRecipes(fileIO, self.ingredientsList)
			elif listType == STORAGE:
				self.storageList = []
				fileIO = self.openFileUTF8(self.storageFile)
				self.storageList, self.storageSuccess, self.storageError = self.IO.loadStorage(fileIO, self.ingredientsList)
			else:
				print("Tuntematon tyyppi")
				return -1
				
		except CorruptedFileError as e:
			fileIO.close()
			print(str(e))
			exit()

			
		fileIO.close()
				
	def printList(self, listToPrint, listType):
		
		if listType == INGREDIENTS:
			for i in listToPrint:
				print(i.getName()+ i.getAllergensStr())
		elif listType == RECIPES:
			for i in listToPrint:
				print(i.getName(), i.getTimeStr()+",", i.getOutcomeStr())
		elif listType == STORAGE:
			for i in listToPrint:
				print(i.getName() + ",", i.getQuantity(), i.getUnit()) 
		else:
			print("Tuntematon tyyppi")
			return -1
		
	def askNameAndPrintMoreInfo(self, listType):
		
		if listType == INGREDIENTS:
			userInput = self.askUserInputText("Raaka-aineen nimi > ")
			searchList = self.ingredientsList
		elif listType == RECIPES:
			userInput = self.askUserInputText("Reseptin nimi > ")
			searchList = self.recipesList
		elif listType == STORAGE:
			userInput = self.askUserInputText("Varastoidun raaka-aineen nimi > ")
			searchList = self.storageList			
		else:
			print("Tuntematon tyyppi")
			return -1
		result = self.search.searchFromList(userInput, searchList)
#.........这里部分代码省略.........
开发者ID:Kalmis,项目名称:alykas-reseptikirja,代码行数:103,代码来源:main.py

示例2: MainGUI

# 需要导入模块: from search import Search [as 别名]
# 或者: from search.Search import searchFromList [as 别名]

#.........这里部分代码省略.........
        
        table.clear()
        table.setRowCount(len(data[1]))
        table.setColumnCount(len(data[0]))
        table.setHorizontalHeaderLabels(data[0])
        
        data = iter(data)
        next(data) # Skipataan eka, koska ne on headerit
        for n, columnData in enumerate(data):
            for m, item in enumerate(columnData):
                newitem = QTableWidgetItem(item)
                table.setItem(m, n, newitem)
            
        table.resizeColumnsToContents()
        table.resizeRowsToContents()
        table.clear
        table.horizontalHeader().setStretchLastSection(True)
        
    def populateSearchTable(self):
        ''' Tämä metodi populoi datan hakunäkymän taulukkoon. Tätä metodia kutsuu hakunäkymän "Hae" painike.
        
        Hakunäkymällä on mahdollista valita nolla tai useampi hakuvaihtoehto, tämä metodi sisältää myös logiikan 
        valittujen vaihtoehtojen tarkastamiselle sekä oikean hakutuloksen saamiseksi.
        
        Haku hyödyntää Search luokan metodeja, jotka palauttavat listan resepteistä, jotka täyttävät hakukriteerin. 
        Hakulogiikka on ns. iteratiivinen ja alussa Search luokan metodeille annetaan listana kaikki tunnetut reseptit,
        mahdollinen seuraava haku kuitenkin tehdään edellisen haun palauttamasta listasta, jolloin lopuksi listassa on enää kaikki
        hakutulokset täyttävät reseptit.
        
        '''
        
        searchList = self.recipesList
        if self.checkName.isChecked():
            searchList = self.search.searchFromList(self.searchName.text(), searchList)
        if self.checkAllergen.isChecked():
            searchList = self.search.searchNoAllergen(self.searchAllergen.text(), searchList)
        if self.checkIngredient.isChecked():
            searchList = self.search.searchIncludesIngredient(self.searchIngredient.text(), searchList)
        if self.checkFoundN.isChecked():
            searchList = self.search.searcForhRecipesNIngredientsInStorage(searchList, self.spinFoundN.value(), self.storageList, False)
        elif self.checkMissingN.isChecked():
            print(self.spinMissingN.value())
            searchList = self.search.searcForhRecipesNIngredientsInStorage(searchList, self.spinMissingN.value(), self.storageList, True)
        
        if len(searchList)>0:
            data = self.getRecipesInDataListForTable(searchList)
            self.populateTableWithData(self.searchTable, data)
        else:
            self.statusBar().showMessage("Reseptejä ei löytynyt hakuehdoilla")
            self.searchTable.clearContents()
                
    def populateStorageTable(self):
        ''' Tämä metodi populoi varastolistaus tauluun kaikki varastossa olevat raaka-aineet'''
        
        data = self.getIngredientContainersInDataListForTable(self.storageList)
        self.populateTableWithData(self.storageTable,data)
        self.statusBar().showMessage("Varastolistaus päivitetty")
        
    def populateStorageEditFields(self,mi):
        ''' Tämä metodi populoi varastonäkymällä olevat tekstikentät, joilla voi muokata varastossa olevaa raaka-ainetta.
        Tätä metodia kutsutaan, kun varastolistauksessa klikataan riviä.
        
        Rivin indeksi tallennetaan self.storageToEdit muuttujaan, jotta muutoksia tallennettaessa tiedetään
        mitä varasto raaka-ainetta täytyy muokata
        
        Args:
开发者ID:Kalmis,项目名称:alykas-reseptikirja,代码行数:70,代码来源:mainGUI.py


注:本文中的search.Search.searchFromList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。