Пример #1
0
    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()
Пример #2
0
 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
Пример #4
0
    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