Ejemplo n.º 1
0
    def group_dish(self, limit_cent, dish_lst):
        # dish_lst.sort(key = lambda dish: dish.priceInCent, reverse = True)
        main_lst = []
        side_lst = []

        dis_count = 1
        select_cent = 0
        select_dish = []
        order_desc = OrderDesc()

        if empty_list(dish_lst):
            return select_dish, order_desc

        ignore_dishs = ConfigUtil.instance().ignore_dish
        for dish_item in dish_lst:
            if len(filter(lambda x:x in dish_item.name, ignore_dishs)) == 0:
                if dish_item.priceInCent > limit_cent * 0.6:
                    main_lst.append(dish_item)
                else:
                    side_lst.append(dish_item)

        #筛选后没有主食
        if len(main_lst) ==0:
            return select_dish, order_desc

        main_index = random.randint(0, len(main_lst) - 1)
        side_lst.insert(0, main_lst[main_index])

        for dish_item in side_lst:
            next_cent = select_cent + dish_item.priceInCent
            if next_cent <= limit_cent:
                select_cent = next_cent
                select_dish.append(self.gen_order_dish(dish_item, dis_count, order_desc))
        return select_dish, order_desc
Ejemplo n.º 2
0
 def get_order_time_lst(self):
     order_time = []
     close_lst = self.close_time_list
     for time_str in close_lst:
         t_item = time_str.split(":")
         hour, minute = DateUtil.date_diff_min(
             int(t_item[0]), int(t_item[1]),
             int(ConfigUtil.instance().ahead_min) * -1)
         order_time.append(OrderTimeItem(hour, minute))
         pass
     return order_time
Ejemplo n.º 3
0
def order(meican):
    try:
        order_week = ConfigUtil.instance().order_week
        cur_week = str(DateUtil.curr_week())
        if cur_week not in order_week:
            critical(
                "meican | order week not in config!!!!!!!!!!!!, cur_week:<%s>"
                % cur_week)
            return
        info("meican |begin order")
        meican.order()
    except Exception as e:
        info(traceback.format_exc())
Ejemplo n.º 4
0
    def recommends_dish_list(self, tab):
        re_net_datas = self.get_recommends(tab)
        re_net_datas = dict_obj(re_net_datas)
        re_lst = None
        dish_lst = None

        if hasattr(re_net_datas, 'myRegularDishList') and  not empty_list(re_net_datas.myRegularDishList) :
            re_lst = re_net_datas.myRegularDishList
        if ConfigUtil.instance().other_recommend == True and  not empty_list(re_net_datas.othersRegularDishList) :
            re_lst = re_lst or []
            re_lst = re_lst + re_net_datas.othersRegularDishList
        if not re_lst:
            return ErrCode.not_recommend, None
        dish_lst = filter(lambda x: x.priceInCent and x.restaurant.available == True, re_lst)

        if empty_list(dish_lst):
            return ErrCode.not_filter_recommend, None
        # name | priceInCent
        return ErrCode.ok, dish_lst
Ejemplo n.º 5
0
 def save_mc_cookies(self):
     return save_cookies(self._session, ConfigUtil.instance().cookies)
Ejemplo n.º 6
0
 def load_mc_cookies(self):
     return load_cookies(self._session, ConfigUtil.instance().cookies)
Ejemplo n.º 7
0
def has_cookies():
    return os.path.isfile(ConfigUtil.instance().cookies)