Exemple #1
0
 def get_meet_in24hour_user_ids(self, user_id):
     current = OHHODatetime.get_now()
     current_utc = OHHODatetime.beijing2utc(current)
     current_utc_before24hour = OHHODatetime.get_some_hour_after(
         current_utc, -24)
     query = self.met.get_query()
     query = self.met.get_great_than_equal_created_at(
         query, current_utc_before24hour)
     query1 = self.met.get_by_user_id(query, user_id)
     user1_id_list = [m.another_user_id for m in query1]
     query2 = self.met.get_by_another_user_id(query, user_id)
     user2_id_list = [m.user_id for m in query2]
     return list(set(user2_id_list + user1_id_list))
Exemple #2
0
 def print_log(information=None):
     try:
         raise Exception
     except:
         f = sys.exc_info()[2].tb_frame.f_back
     now = OHHODatetime.get_now()
     now_string = OHHODatetime.clock2string(now)
     file_name = f.f_code.co_filename
     name = f.f_code.co_name
     line_no = f.f_lineno
     content = now_string + "\t" + file_name + "\t" + name + "\t" + str(
         line_no) + "\t" + str(information)
     logger.info(content)
    def add_icon(self, user_id, icon_id, icon, is_head_sculpture, base_url):
        # result = Result.result_failed("default failed")
        # OHHOLog.print_log(icon)
        if icon:
            now = OHHODatetime.get_now()
            path = "static/user/icon/%d/%d/%d/" % (now.year, now.month,
                                                   now.day)
            os.makedirs(path, exist_ok=True)
            img = icon[0]
            timestamp = OHHODatetime.get_current_timestamp()
            name = str(user_id) + "_" + str(timestamp) + ".png"
            thumbnail_name = str(user_id) + "_" + str(
                timestamp) + "_thumbnail.png"
            path_name = path + name
            thumbnail_path_name = path + thumbnail_name
            with open(path_name, 'wb') as f:
                f.write(img["body"])
            self.compress_icon(path_name, thumbnail_path_name)

            icon_object = self.user.user_icon.get_by_id(icon_id)
            data = dict()
            data["icon"] = path_name
            data["thumbnail"] = thumbnail_path_name
            data["is_head_sculpture"] = is_head_sculpture

            if icon_object:
                self.user.user_icon.update_without_commit(icon_object, data)
            else:
                data["user_id"] = user_id
                self.user.user_icon.add_without_commit(data)

            result = Result.result_success()
            result["url"] = base_url + path_name
            result["thumbnail_url"] = base_url + thumbnail_path_name
        else:
            result = Result.result_failed("no image file")
            result["url"] = ""
            icon_object = self.user.user_icon.get_by_id(icon_id)
            if icon_object:
                data = dict()
                data["icon"] = ""
                data["thumbnail"] = ""
                data["is_head_sculpture"] = 0
                self.user.user_icon.update_without_commit(icon_object, data)
        OHHOLog.print_log(result)
Exemple #4
0
    def match_by_condition_version2(self, user_id, user_id_list):
        # 根据user_id获取配对条件
        # 根据user_id_list获取配对用户列表
        # 根据条件从用户列表中配对

        # result = user_id_list
        # return result

        result = list()
        condition = self.condition_relation.get_nearest_match_relation_by_user(
            user_id)
        if condition:
            match_condition = self.condition.get_by_id(
                condition.match_condition_id)
            if match_condition:
                query = self.user_extension.get_by_user_list(user_id_list)

                sex = match_condition.sex
                if sex and sex != 3:
                    query = self.user_extension.get_by_sex(query, sex)

                small_age = match_condition.small_age
                big_age = match_condition.big_age
                if small_age and big_age:
                    this_year = OHHODatetime.get_now().year
                    small_age_year = this_year - small_age
                    big_age_year = this_year - big_age

                    big_age_year_start = str(big_age_year) + "-1-1"
                    date_big_age_year_start = OHHODatetime.string2date(
                        big_age_year_start)
                    small_age_year_end = str(small_age_year) + "-1-1"
                    date_small_age_year_end = OHHODatetime.string2date(
                        small_age_year_end)
                    query = self.user_extension.find_by_birthday(
                        query, date_big_age_year_start,
                        date_small_age_year_end)
                if self.user_extension.is_empty(query):
                    pass
                else:
                    result = [ue.user_id for ue in query]
        return result
    def add_user_icon(user_id, image_file, base_url, image_sequence):
        image_sequence = int(image_sequence)
        now = OHHODatetime.get_now()
        path = "static/user/icon/%d/%d/%d/" % (now.year, now.month, now.day)
        os.makedirs(path, exist_ok=True)
        if image_file:
            img = image_file[0]
            timestamp = OHHODatetime.get_current_timestamp()
            name = str(user_id) + "_" + str(timestamp) + ".png"
            path_name = path + name
            with open(path_name, 'wb') as f:
                f.write(img["body"])
            result = Result.result_success()
            instance = DBOHHOUserIcon()
            user_icon = instance.get_by_user(user_id)
            if user_icon:
                if image_sequence == 0:
                    instance.update(user_icon, {"first": path_name})
                elif image_sequence == 1:
                    instance.update(user_icon, {"second": path_name})
                elif image_sequence == 2:
                    instance.update(user_icon, {"third": path_name})
                else:
                    instance.update(user_icon, {"fourth": path_name})
            else:
                if image_sequence == 0:
                    instance.add({"first": path_name, "user_id": user_id})
                elif image_sequence == 1:
                    instance.add({"second": path_name, "user_id": user_id})
                elif image_sequence == 2:
                    instance.add({"third": path_name, "user_id": user_id})
                else:
                    instance.add({"fourth": path_name, "user_id": user_id})

            result["url"] = base_url + path_name
            if image_sequence == 0:
                UpdateUserInfo.update_user_info(user_id, icon=base_url + path_name)
        else:
            result = Result.result_failed("no image file")
            result["url"] = ""
        return result