Example #1
0
class OpHandler(base_handler.BaseHandler):
    def initialize(self, hinfo=""):
        self.init_condition()
        self.mrefresh = MRefresh()
        self.mcat = MCatalog()

    def op_redirect(self, input):
        """

        """
        tmp_uu = input.split(r"/")
        uid = tmp_uu[0]
        action = tmp_uu[1]
        if len(tmp_uu) == 3:
            re_str = """/tui/{0}/{1}""".format(tmp_uu[2], action)
        else:
            re_str = """/filter/{0}""".format(action)

        self.redirect(re_str)

    def active_info(self, def_uid, sig):
        """
        switch the status.
        用于刷新、推广、置顶
        """
        info_dic = self.minfo.get_by_id(def_uid)
        # 值大,则权重高。
        weight = self.mcat.get_weight_id(info_dic["catid"][0])
        sigit = "def_" + sig
        if info_dic[sigit] == 0:
            # 避免已经进行过操作
            info_dic[sigit] = 1
            sig_time = "def_" + sig + "_out_time"
            timestamp = libs.tool.get_timestamp() + int(config.timeout[sig] / weight)
            info_dic[sig_time] = timestamp
            # 首先保证更新成功
            if self.minfo.update(def_uid, info_dic) == True:
                return True

    def update_userinfo(self, sig, parentid=""):
        if parentid == "":
            self.muser_num.num_decrease(sig)
        else:
            self.muser_vip.num_decrease(sig, parentid)