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))
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)
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