def stop(self, bot, update): telegram_user = update.message.from_user User.update(is_active=False).where( User.telegram_id == telegram_user.id).execute() msg = "Стоп сообщениям" self.logger.debug('/stop command form user %s' % telegram_user) update.message.reply_text(msg)
def login(): # Logged in? Send to home screen if current_user.is_authenticated: return redirect('/') form = LoginForm() if form.validate_on_submit(): # Check if we are logging in with email is_email = False email_reg = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$' if re.match(email_reg, form.username.data, re.IGNORECASE): is_email = True # Attempt to find user and validate credentials user = User.get_user(form.username.data, email=is_email) if user is None or not user.check_password(form.password.data): flash('Invalid username or password!') return redirect('/login') # Log in the user login_user(user, remember=form.remember_me.data) return redirect('/') return render_template('login.html', title='Sign In', form=form)
def start(self, bot, update): telegram_user = update.message.from_user user = User.get_or_none(telegram_id=telegram_user.id) if not user: User.create(telegram_id=telegram_user.id, username=telegram_user.username, firstname=telegram_user.first_name, lastname=telegram_user.last_name) msg = 'Привет, этот бот поможет быстро получать информацию ' \ 'о новых проектах на fl.ru' update.message.reply_text(msg) elif not user.is_active: User.update(is_active=True).where( User.telegram_id == telegram_user.id).execute() msg = 'Сообщения теперь будут приходить' update.message.reply_text(msg) msg = 'Я готов отправлять сообщение, /help для помощи' self.logger.debug('/start command form user %s' % telegram_user) update.message.reply_text(msg)
def save_user(self): have_user = User.objects.filter(open_id=self.openid) if have_user.exists(): # 已注册过 return self.flush_session() sess = gen_hash() redis_session.set(sess, self.openid, ex=259200) user = User(open_id=self.openid) user.save() # 自动为用户生成Profile # Profile(open_id=user).save() # 注册成功,分配cookie return { 'sess': sess, 'code': ASEC.REG_SUCCESS, 'message': ASEC.getMessage(ASEC.REG_SUCCESS) }
def view_registration_page(): if current_user.is_authenticated: return redirect('/') form = RegistrationForm() if form.validate_on_submit(): user = User(form.username.data, form.email.data, pw=form.password.data) create_user(user) login_user(user) return redirect('/') return render_template("registration.html", title="Register", form=form)
def user_edit(request, user_id): user = User.get_by_id(int(user_id)) if user is None: raise Http404 if request.method == 'POST': form = UserForm(request.POST, instance=user) if form.is_valid(): logging.info('edit user before - id: %s key: %s data: %s' % (user.key().id() , user.key(), user)) form.save(commit=False) logging.info('edit user after - id: %s key: %s data: %s' % (user.key().id() , user.key(), user)) user.save() return redirect('/utils/users/') else: form = UserForm(instance=user) return render_to_response('utils/user_edit.html', RequestContext(request, { 'form': form }) )
def validate_username(self, username): name = username.data sanitized = re.sub(r'\W+', '*', name) # Sanitize username, ensure it is alphanumeric with underscore if name is not sanitized: self.username.errors.append('Invalid username.') return False # Check if username is already being used user = User.get_user(name) if user is not None: self.username.errors.append('Username already in use.') return False return True
def setUp(self): self.eventprovince = EventProvince(province='测试省') self.eventprovince.save() self.eventtype = EventType(type="测试类型") self.eventtype.save() self.event = Events(name="测试赛事", location='无', event_date=datetime.now(), event_province=self.eventprovince) self.event.save() self.eventtypedetail = EventTypeDetail(type=self.eventtype, lines="1", price="test", event=self.event) self.eventtypedetail.save() self.eventsdetail = EventsDetail(event=self.event, evnet_org="evnet_org", evnet_represent="evnet_represent", apply_count=1200, event_apply_begin_time=datetime.now(), event_apply_end_time=datetime.now(), event_about="无") self.eventsdetail.save() self.eventrules = EventRules(event=self.event) self.eventrules.save() self.eventtraffic = EventTraffic(event=self.event) self.eventtraffic.save() self.eventsc = EventSc(event=self.event) self.eventsc.save() self.event_id = self.event.id self.events_type_id = self.eventtypedetail.id self.user = User.reg_user(email='*****@*****.**', username='******', password='******') self.c = Client() self.user.is_email_check = 2 self.user.save() res = self.c.post('/api/auth/login', { 'email': '*****@*****.**', 'password': '******' }) self.token = res.json()['access_token']
def register_view(): if request.method == 'GET': return render_template('register.html') else: # 获取数据 uname = request.values.get("uname") # 从数据库查询用户 user = User.query.filter_by(name=uname).first() if not user: pwd = request.values.get("pwd") # 对密码进行MD5加密 pwd = data_to_md5(pwd) # 储存用户信息到数据库 user = User(name=uname, password=pwd, regis_date=datetime.now()) db.session.add(user) db.session.commit() return jsonify({"info": 'ok'}) else: return jsonify({"info": "用户名已存在"})
def register_info(): if request.method == 'POST': image_code = session.get('image_code') i_code = request.form.get('i_code') if image_code == i_code: mobile = request.form.get('mobile') password = request.form.get('password') user = User.query.filter(User.phone == mobile).first() if user: return jsonify({'code': USER_REGISTER_NOT_PHONE}) if not re.match(r'(13\d|14[5|7]|15\d|166|17[3|6|7]|18\d)\d{8}$', mobile): return jsonify({'code': USER_REGISTER_PHONE_RE}) new_user = User() new_user.phone = mobile new_user.password = password new_user.add_update() return jsonify({'code': OK}) else: return jsonify({'code': USER_REGISTER_IMAGE_CODE})
def user_show(request,user_id): user = User.get_by_id(int(user_id)) if user is None: raise Http404 return render_to_response('utils/user_show.html', RequestContext(request, { 'user': user }))
def load_user(username): return User.get_user(username)
def validate_email(self, email): user = User.get_user(email.data, email=True) if user is None: self.email.errors.append('Could not find account.') return False return True
def validate_email(self, email): user = User.get_user(email.data, email=True) if user is not None: self.email.errors.append('Email already in use.') return False return True
"<PATH_TO_TESTING_SET> <USER_STATS_FILE> <BUSINESS_STATS_FILE> <OUTPUT_FILE>" ) exit(1) start_time = time.time() training_set_file = sys.argv[1] testing_set_file = sys.argv[2] user_stats_file = sys.argv[3] business_stats_file = sys.argv[4] output_file = sys.argv[5] print('[ %04ds ] Program started' % (time.time() - start_time)) training_set: List[Review] = Review.load_from_file(training_set_file) user_stats: Dict[str, User] = User.load_from_file(user_stats_file) business_stats: Dict[str, Business] = Business.load_from_file( business_stats_file) print('[ %04ds ] Files loaded' % (time.time() - start_time)) all_user_features = ['NO_FEAT'] all_business_features = Business.collect_business_features(business_stats) all_user_ids = User.extract_user_ids(user_stats) all_business_ids = Business.extract_business_ids(business_stats) dataset = Dataset() dataset.fit(all_user_ids, all_business_ids, user_features=all_user_features,
print( "Usage: python3 lightfm_with_features_experiment.py <PATH_TO_TRAINING_SET> " "<PATH_TO_TESTING_SET> <USER_STATS_FILE> <BUSINESS_STATS_FILE>") exit(1) start_time = time.time() training_set_file = sys.argv[1] testing_set_file = sys.argv[2] user_stats_file = sys.argv[3] business_stats_file = sys.argv[4] print('[ %04ds ] Program started' % (time.time() - start_time)) training_set: List[Review] = Review.load_from_file(training_set_file) user_stats: Dict[str, User] = User.load_from_file(user_stats_file) business_stats: Dict[str, Business] = Business.load_from_file( business_stats_file) print('[ %04ds ] Files loaded' % (time.time() - start_time)) all_user_features = ['NO_FEAT'] all_business_features = Business.collect_business_features(business_stats) dataset = Dataset() dataset.fit(User.extract_user_ids(user_stats), Business.extract_business_ids(business_stats), user_features=all_user_features, item_features=all_business_features) user_features = dataset.build_user_features(
def register_insert(company_id, channel_id, gmt_create, mobile_platform): """ @:param mobile_platform : 所属客户端0:ios, 1:android 2 api 直接插库进行模拟用户注册 """ # 创建user # 查询渠道 channel = convert.query(models.Channel, id=channel_id).one() user_cid = cid_generate() user_mobile = fakerInstance.phone_number() user_id = my_snow().get_next_id() user_name = create_name_by_cid(user_cid) user_password = hashlib.md5( str(user_mobile).encode('utf-8')).hexdigest()[3:19] user_detail_address = fakerInstance.address() user_channel_name = channel.name print("register_insert user_cid", user_cid) print("register_insert user_mobile", user_mobile) print("register_insert user_id", user_id) user = User() user.gmt_create = gmt_create user.gmt_modified = gmt_create user.is_deleted = 0 user.id = user_id user.company_id = company_id user.cid = user_cid user.mobile = user_mobile user.name = user_name user.password = user_password user.register_channel = user_channel_name user.register_channel_id = channel_id user.mobile_md5 = hashlib.md5( str(user_mobile).encode('utf-8')).hexdigest()[3:19] convert.add_one(user) # 创建user_detail user_detail = UserDetail() user_detail.id = my_snow().get_next_id() user_detail.gmt_create = gmt_create user_detail.gmt_modified = gmt_create user_detail.is_deleted = 0 user_detail.cert_item = None user_detail.user_id = user_id user_detail.company_id = company_id user_detail.cid = user_cid user_detail.mobile = user_mobile user_detail.name = user_name user_detail.password = user_password user_detail.channel_id = channel_id user_detail.channel_name = user_channel_name user_detail.province = split_address(user_detail_address).get("province") user_detail.city = split_address(user_detail_address).get("city") user_detail.address = user_detail_address user_detail.gender = check_sex(user_cid) user_detail.nationality = "汉" user_detail.birthday = create_birthday user_detail.marital_status = None user_detail.income_level = None user_detail.education_level = None user_detail.bank_account_id = None user_detail.category = None user_detail.mobile_platform = mobile_platform user_detail.operator_id = None user_detail.first_apply_time = gmt_create user_detail.first_deduct_time = None user_detail.loan_amount = None user_detail.raise_amount = None user_detail.emrg_contact_name_a = None user_detail.emrg_contact_name_b = None user_detail.emrg_contact_mobile_a = None user_detail.emrg_contact_mobile_b = None user_detail.idcard_front_img = None user_detail.idcard_back_img = None user_detail.thirdparty_data = None user_detail.raise_comment = None user_detail.update_count = None user_detail.name_mirror = None user_detail.raise_amount_sign = None convert.add_one(user_detail) # 模拟event_id now = time.time() _event_id = str(company_id) + "_" + str(channel_id) + "_" + str( int(now * 1000)) print("register_insert _event_id", _event_id) # 模拟token 取手机号的md5加密截取部分 _token = user_password print("register_insert _event_id", _token) return dict(mobile=user_mobile, event_id=_event_id, token=_token)