def parseRecipe(self): print "Opening file: " + self.filepath file = open(self.filepath, 'r') for l in file: ##excluding comments if "#" not in l: sub = l.split(":") if sub[0] == "system_final_volume": self.sys_vol = float(sub[1]) elif sub[0] == "system_efficiency": self.sys_eff = float(sub[1]) elif sub[0] == "malt_dry_extract": self.malt_dry = malt.Malt(float(sub[1]), 350, self.sys_eff, self.sys_vol) elif sub[0] == "malt_pale_ale": self.malt_pale = malt.Malt(float(sub[1]), 310, self.sys_eff, self.sys_vol) elif sub[0] == "malt_crystal": self.malt_crystal = malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0] == "malt_black": self.malt_black = malt.Malt(float(sub[1]), 250, self.sys_eff, self.sys_vol) elif sub[0] == "hop_bitter": self.hop_bitter = hop.Hop(float(sub[3]), float(sub[2]), float(sub[1]), self.sys_vol, float(sub[4])) elif sub[0] == "hop_taste": self.hop_taste = hop.Hop(float(sub[3]), float(sub[2]), float(sub[1]), self.sys_vol, float(sub[4])) elif sub[0] == "hop_flavour": self.hop_flav = hop.Hop(float(sub[3]), float(sub[2]), float(sub[1]), self.sys_vol, float(sub[4])) elif sub[0] == "yeast_att": self.yatt = float(sub[1]) elif sub[0] == "mash": self.mash_time = float(sub[1]) self.mash_temp = float(sub[2]) elif sub[0] == "boil": self.boil_time = float(sub[1]) self.boil_temp = float(sub[2]) self.__estimated_og() self.__estimated_fg() self.__estimated_abv() self.__estimated_ibu() self.__estimated_style()
def hop_nodes(self): """ Decide which node to explore based on processed stream :return: """ h = hop.Hop(self.followers_stream) self.bot_id = h.pick_node()
def exchangeRoutingUpdates(self, n): # print("Sharing " + str(n) + " routing updates") # Get a list of all addresses in a random order addresses = list(self.channels) random.shuffle(addresses) # Go through every edge n times for _ in range(0, n): # Go through every node for address in addresses: # Go through every channel in each node for neighbour in list(self.channels[address]): # Share the entire routing table with the neighbour for destination in self.routingTables[address]: if destination == neighbour: continue # If the neighbour already knows about the destination if destination in self.routingTables[neighbour]: # If the hop is the neighbour we don't share if self.routingTables[address][destination].hop == neighbour: continue new_max_money = min(self.routingTables[address][destination].max_money, self.channels[neighbour][address]) # If we are updating old info from this address if self.routingTables[neighbour][destination].hop == address: self.routingTables[neighbour][destination] = hop.Hop(address, new_max_money) elif self.routingTables[neighbour][destination].max_money < new_max_money: self.routingTables[neighbour][destination] = hop.Hop(address, new_max_money) else: max_money = min(self.channels[neighbour][address], self.routingTables[address][destination].max_money) self.routingTables[neighbour][destination] = hop.Hop(address, max_money) return
def parseRecipe(self): print("Opening file: "+self.filepath) file=open(self.filepath, 'r') for l in file: ##excluding comments if "#" not in l: sub=l.split(":") if sub[0]=="system_final_volume": self.sys_vol=float(sub[1]) elif sub[0]=="system_efficiency": self.sys_eff=float(sub[1]) elif sub[0]=="dry_extract": self.malt_dry=malt.Malt(float(sub[1]), 350, self.sys_eff, self.sys_vol) elif sub[0]=="liquid_extract": self.malt_liquid=malt.Malt(float(sub[1]), 290, self.sys_eff, self.sys_vol) elif sub[0]=="malt_pilsner": self.malt_pils=malt.Malt(float(sub[1]), 310, self.sys_eff, self.sys_vol) elif sub[0]=="malt_pale_ale": self.malt_pale=malt.Malt(float(sub[1]), 300, self.sys_eff, self.sys_vol) elif sub[0]=="malt_wheat": self.malt_wheat=malt.Malt(float(sub[1]), 320, self.sys_eff, self.sys_vol) elif sub[0]=="malt_crystal": self.malt_crystal=malt.Malt(float(sub[1]), 270, self.sys_eff, self.sys_vol) elif sub[0]=="malt_maris_otter": self.malt_maris_otter=malt.Malt(float(sub[1]), 310, self.sys_eff, self.sys_vol) elif sub[0]=="malt_vienna": self.malt_vienna=malt.Malt(float(sub[1]), 300, self.sys_eff, self.sys_vol) elif sub[0]=="malt_munich": self.malt_munich=malt.Malt(float(sub[1]), 300, self.sys_eff, self.sys_vol) elif sub[0]=="malt_biscuit": self.malt_biscuit=malt.Malt(float(sub[1]), 300, self.sys_eff, self.sys_vol) elif sub[0]=="malt_rye": self.malt_rye=malt.Malt(float(sub[1]), 310, self.sys_eff, self.sys_vol) elif sub[0]=="malt_special_b": self.malt_special_b=malt.Malt(float(sub[1]), 270, self.sys_eff, self.sys_vol) elif sub[0]=="malt_cara_pils": self.malt_cara_pils=malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0]=="malt_cara_vienna": self.malt_cara_vienna=malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0]=="malt_cara_munich": self.malt_cara_munich=malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0]=="malt_acid": self.malt_acid=malt.Malt(float(sub[1]), 290, self.sys_eff, self.sys_vol) elif sub[0]=="malt_chocolate": self.malt_chocolate=malt.Malt(float(sub[1]), 250, self.sys_eff, self.sys_vol) elif sub[0]=="malt_black": self.malt_black=malt.Malt(float(sub[1]), 250, self.sys_eff, self.sys_vol) elif sub[0]=="malt_roasted_barley": self.malt_roasted_barley=malt.Malt(float(sub[1]), 250, self.sys_eff, self.sys_vol) elif sub[0]=="flaked_barley": self.flaked_barley=malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0]=="flaked_wheat": self.flaked_wheat=malt.Malt(float(sub[1]), 290, self.sys_eff, self.sys_vol) elif sub[0]=="flaked_oat": self.flaked_oat=malt.Malt(float(sub[1]), 280, self.sys_eff, self.sys_vol) elif sub[0]=="flaked_corn": self.flaked_corn=malt.Malt(float(sub[1]), 330, self.sys_eff, self.sys_vol) elif sub[0]=="flaked_rice": self.flaked_rice=malt.Malt(float(sub[1]), 320, self.sys_eff, self.sys_vol) elif sub[0]=="white_sugar": self.white_sugar=malt.Malt(float(sub[1]), 360, self.sys_eff, self.sys_vol) elif sub[0]=="brown_sugar": self.brown_sugar=malt.Malt(float(sub[1]), 350, self.sys_eff, self.sys_vol) elif sub[0]=="honey": self.honey=malt.Malt(float(sub[1]), 270, self.sys_eff, self.sys_vol) elif sub[0]=="hop": self.hops.append(hop.Hop(sub[1],float(sub[3]), float(sub[2]), float(sub[4]), self.sys_vol, float(sub[5]))) self.hop_num=self.hop_num+1 ##elif sub[0]=="hop_taste": ## self.hop_taste=hop.Hop(float(sub[3]), float(sub[2]), float(sub[1]), self.sys_vol, float(sub[4])) ##elif sub[0]=="hop_flavour": ## self.hop_flav=hop.Hop(float(sub[3]), float(sub[2]), float(sub[1]), self.sys_vol, float(sub[4])) elif sub[0]=="yeast_att": self.yatt=float(sub[1]) elif sub[0]=="brew": if sub[1]=="mash": if sub[2]=="single_step": self.mash_single_step_time=float(sub[4]) self.mash_single_step_temp=float(sub[3]) elif sub[2]=="fitasi": self.mash_fitasi_time=float(sub[4]) self.mash_fitasi_temp=float(sub[3]) elif sub[2]=="proteinrest": self.mash_proteinrest_time=float(sub[4]) self.mash_proteinrest_temp=float(sub[3]) elif sub[2]=="betamilasi": self.mash_betamilasi_time=float(sub[4]) self.mash_betamilasi_temp=float(sub[3]) elif sub[2]=="alphamilasi": self.mash_alphamilasi_time=float(sub[4]) self.mash_alphamilasi_temp=float(sub[3]) elif sub[2]=="mashout": self.mashout_time=float(sub[4]) self.mashout_temp=float(sub[3]) elif sub[2]=="pause": self.mash_pause=float(sub[3]) elif sub[1]=="sparge": if sub[2]=="pause": self.sparge_pause=float(sub[3]) else: self.sparge_time=float(sub[3]) self.sparge_temp=float(sub[2]) elif sub[1]=="boil": self.boil_time=float(sub[3]) self.boil_temp=float(sub[2]) self.__estimated_og() self.__estimated_fg() self.__estimated_abv() self.__estimated_ibu() self.__estimated_style() self.__estimated_time()
def addRoutingTable(self, address): for neighbour in self.channels[address].keys(): self.routingTables[address][neighbour] = hop.Hop(neighbour, self.channels[address][neighbour]) return