def post(self, request): forgetpwd_form = ForgetPwdForm(request.POST) if forgetpwd_form.is_valid(): email = forgetpwd_form.cleaned_data['email'] send_email(email, 'forget') return render(request, 'send_success.html', {}) return render(request, 'forgetpwd.html', {'forgetpwd_form': forgetpwd_form})
def post(self): registerData = { 'username': request.json['username'], 'password': request.json['password'], 'email': request.json['email']} user = User.query.filter_by(username=registerData['username']).first() userEmail = User.query.filter_by(email=registerData['email']).first() if user: return abort(403, description='Użytkownik o podanej nazwie już istnieje!') elif userEmail: return abort(403, description='Konto o podanym adresie email już istnieje! prosimy o podanie innego.') newUser = User( username=registerData['username'], password=bcrypt.generate_password_hash( registerData['password']), email=registerData['email'], registered_on=datetime.now()) token = generate_confirmation_token(newUser.email) db.session.add(newUser) send_email( newUser.email, 'Aktywacja Konta', render_template( 'auth/activate.html', confirm_url=url_for( 'auth.confirm_account', token=token, _external=True))) db.session.commit() return jsonify(message='Twoje konto zostało pomyślnie utworzone! Na adres e-mail została wysłana wiadomość z linkiem aktywacyjnym - prosimy aktywować konto.')
def post(self, request): register_form = RegisterForm(request.POST) error_msg = '' if register_form.is_valid(): email = register_form.cleaned_data.get('email', '') password = register_form.cleaned_data.get('password', '') password2 = register_form.cleaned_data.get('password2', '') if UserProfile.objects.filter(email=email): error_msg = '邮箱已注册' return self.register_error(request, register_form, error_msg) if password != password2: error_msg = '两次输入密码不相等' return self.register_error(request, register_form, error_msg) user_profile = UserProfile() user_profile.username = email user_profile.email = email user_profile.password = make_password(password) user_profile.is_active = False user_profile.save() send_email(email, 'register') return HttpResponseRedirect( reverse('users:login') + '?sent=' + email) else: error_msg = register_form.errors return self.register_error(request, register_form, error_msg)
def register(): if current_user.is_authenticated: return redirect(url_for('home.home_page')) form = RegistrationForm() if form.validate_on_submit(): newUser = User(username=form.username.data, email=form.email.data, password=bcrypt.generate_password_hash( form.password.data), registered_on=datetime.now().strftime('%m-%d-%Y'), registered_time=datetime.now().strftime('%H:%M')) print(newUser) db.session.add(newUser) db.session.commit() token = generate_confirmation_token(newUser.email) send_email( newUser.email, 'Aktywacja Konta', render_template('auth/activate.html', confirm_url=url_for('auth.confirm_account', token=token, _external=True))) login_user(newUser) flash( 'Twoje konto zostało pomyślnie utworzone! Na podany adres e-mail wyslaliśmy wiadomość z linkiem aktywacyjnym. Prosimy aktywować swoje konto aby mieć dostęp do pełnej wersji strony', 'success') return redirect(url_for('home.home_page')) return render_template('/auth/register.html', form=form)
def test_main(): '''Main process for the test app''' print('starting test task') start = datetime.now() send_email(to=['*****@*****.**'], subject='TEST CRON', text='{}'.format(start))
def register(): if current_user.is_authenticated: return redirect(url_for('home.home_page')) form = RegistrationForm() if form.validate_on_submit(): user = User.objects(username=form.username.data).first() userEmail = User.objects(email=form.email.data).first() if user: flash('Podana nazwa użytkownika jest już zajęta!', 'danger') elif userEmail: return flash('Konto o podanym adresie email już istnieje! prosimy o podanie innego.', 'danger') newUser = User( username=form.username.data, email=form.email.data, password=bcrypt.generate_password_hash( form.password.data)).save() token = generate_confirmation_token(newUser.email) send_email( newUser.email, 'Aktywacja Konta', render_template( 'auth/activate.html', confirm_url=url_for( 'auth.confirm_account', token=token, _external=True))) flash('Twoje konto zostało pomyślnie utworzone! Na podany adres e-mail wyslaliśmy wiadomość z linkiem aktywacyjnym. Prosimy aktywować swoje konto aby mieć dostęp do pełnej wersji strony', 'success') return redirect(url_for('home.home_page')) return render_template('/auth/register.html', form=form)
def forget_password(): if current_user.is_authenticated: return redirect(url_for('home.home_page')) else: form = ResetPasswordForm() if form.validate_on_submit(): user = User.objects(email=form.email.data).first() if user.last_change + timedelta(minutes=30) <= datetime.now(): if user: token = generate_confirmation_token(user.email) send_email( user.email, 'Zmiana hasła', render_template( 'auth/activate.html', confirm_url=url_for( 'auth.reset_password', token=token, _external=True))) flash( 'Na podany adres email zostały wysłane dalesze instrukcje dotyczące zmiany hasła!', 'success') else: flash( 'Do podanego adresu email nie zostało przypisane żadne konto!', 'danger') else: flash( 'Hasło można zresetować po upływie 30minut od ostatniej zmiany!', 'warning') return render_template('/auth/forgetPassword.html', form=form)
def get(self, request): email = request.GET.get('email', '') if email: if UserProfile.objects.filter(email=email): return HttpResponse('{"email":"邮箱已存在"}', content_type="application/json") send_email(email, 'update_email') return HttpResponse('{"status":"success"}', content_type="application/json")
def post(self, request): forget_form = ForgetForm(request.POST) if forget_form.is_valid(): email = request.POST.get("email", "") send_email(email, "forget") return render(request, 'send_success.html') else: return render(request, 'forgetpwd.html', {"forget_form": forget_form})
def post(self, request): forget_pwd_form = ForgetPwdForm(request.POST) if forget_pwd_form.is_valid(): email = request.POST.get('email', '') if UserProfile.objects.filter(email=email).exists(): send_email(email, code_type='forget') # return render(request, 'password_reset.html', {'email': email}) else: return render(request, 'forgetpwd.html', {'msg': 'email不存在'})
def post(self, request): email = request.POST.get("email", "") try: record = UserProfile.objects.get(email=email) send_email(email, 16) return render(request, "login.html") except: return render(request, "forget_password.html", {"msg": "This email has not been registered yet"})
def run(self): s = LocalSimpleCache('', 'logincookie.pickle').get_final_data() if not s.raw_data: count = 0 while self.retry_login_time: l = NormalLogin() Log.v("正在为您登录") status, msg = l.login() if not status: count += 1 Log.v("登录失败, 重试{0}次".format(count)) self.retry_login_time -= 1 continue else: Log.v("登录成功") Log.v("导出已经登录的cookie,已便下次使用") Log.v("cookie的有效期为 {0}小时".format(s.expire_time)) s.raw_data = LOGIN_SESSION.cookies s.export_pickle() break if not self.retry_login_time: Log.v("重试次数已经超过设置") return else: Log.v("加载已经登录的cookie") LOGIN_SESSION.cookies.update(s.raw_data) Log.v("正在查询车次余票信息") count = 0 while True: count += 1 q = Query() data = q.filter() if not data: Log.v("满足条件的车次暂无余票,正在重新查询") for v in data: print(v[0]) q.pretty_output(v[1]) time.sleep(5) Log.v("查询{0}次".format(count)) for v in data: if Config.basic_config.fast_submit: submit = FastSubmitDcOrder(v[1], v[0]) else: submit = NormalSubmitDcOrder(v[1], v[0]) f = submit.run() if not f: continue else: self.order_id = submit.order_id break if self.order_id: break Log.v("抢票成功,如果有配置邮箱,稍后会收到邮件通知") # 抢票成功发邮件信息 send_email(2, **{"order_no": self.order_id})
def run(self): if not self.login(): return p_status = self.query_passengers() if not p_status: return if not Config.auto_code_enable: Log.v("未开启自动打码功能, 不检测用户登录状态") Log.v("正在查询车次余票信息") count = 0 while True: if self.check_maintain(): Log.v("12306系统每天 23:00 - 6:00 之间 维护中, 程序暂时停止运行") maintain_time = self.delta_maintain_time() Log.v("{0}小时 {1}分钟 {2}秒之后重新启动".format( maintain_time.seconds // 3600, (maintain_time.seconds // 60) % 60, maintain_time.seconds % 3600 % 60)) time.sleep(self.delta_maintain_time().total_seconds()) if Config.auto_code_enable: status, msg = self.online_checker() Log.v(msg) if not status: Log.e("心跳登录失败,继续重试中,建议手动检查原因再尝试重启") self.online_checker_now() dates = DispatcherTool.query_travel_dates for query_date in dates: Log.v("查询第 {0} 次".format(count)) n = datetime.datetime.now() data = DispatcherTool.run(query_date) count += 1 self.submit_order(data) DispatcherTool.output_delta_time(n) if self.order_id: break if self.order_id: break Log.v("抢票成功,{notice}".format(notice="你已开启邮箱配置,稍后会收到邮件通知" if Config. email_notice_enable else "如需邮件通知请先配置")) Log.v("车票信息:") for order_ticket in self.order_tickets: print(order_ticket) # 抢票成功发邮件信息 send_email( 2, **{ "order_no": self.order_id, "ticket_info": "</br>".join([v.to_html() for v in self.order_tickets]) })
def post(self, request): register_form = RegisterForm(request.POST) if register_form.is_valid(): username = register_form.cleaned_data['email'] if UserProfile.objects.filter(Q(username=username) | Q(email=username)).exists(): return render(request, 'register.html', {'msg': '用户已存在'}) password = register_form.cleaned_data['password'] user_profile = UserProfile.objects.create_user(username=username, email=username, password=password) user_profile.save() send_email(username, 'register') return render(request, 'login.html', {}) else: return render(request, 'register.html', {'register_form': register_form})
def send_reset_password(request): if request.method == "GET": form = EmailForm() context = {"form": form} return render(request, 'account/send_email.html', context=context) else: email = request.POST.get("email", '') if email: send_email(email) return HttpResponse("验证码已经发送,查收") else: return HttpResponse("请输入正确的邮箱")
def register(request): if request.method == "POST": ret = {"status": 0, "msg": ""} form_obj = forms.RegForm(request.POST) print(request.POST) # 帮我做校验 if form_obj.is_valid(): # 校验通过,去数据库创建一个新的用户 user_email = request.POST.get("email", "") # 此处加入了邮箱验证的手段 flag = send_email(user_email, "register") if flag == 1: form_obj.cleaned_data.pop("re_password") # 数据库里没有确认密码选项,故删除 is_active = False models.UserInfo.objects.create_user(**form_obj.cleaned_data, is_active=is_active) ret["msg"] = "/login/" return JsonResponse(ret) else: ret["msg"] = flag ret["status"] = 2 return JsonResponse(ret) else: print(form_obj.errors) ret["status"] = 1 ret["msg"] = form_obj.errors print(ret) print("=" * 120) return JsonResponse(ret) # 生成一个form对象 form_obj = forms.RegForm() return render(request, "front_end/register.html", {"form_obj": form_obj})
def post(self): if not request.json: return abort( 403, description= 'Brakujące argumenty, prosze wypełnić wszystkie pola.') registerData = { 'username': request.json['username'], 'password': request.json['password'], 'email': request.json['email'], 'sex': request.json['sex'] } if not registerData['username'] or not registerData['password'] or ( not registerData['email']) or not registerData['sex']: return abort( 403, description= 'Brakujące argumenty, prosze wypełnić wszystkie pola.') user = User.objects(username=registerData['username']).first() userEmail = User.objects(email=registerData['email']).first() if user: return abort( 403, description='Użytkownik o podanej nazwie już istnieje!') elif userEmail: return abort( 403, description= 'Konto o podanym adresie email już istnieje! prosimy o podanie innego.' ) newUser = User(username=registerData['username'], password=bcrypt.generate_password_hash( registerData['password']), email=registerData['email'], sex=registerData['sex']).save() token = generate_confirmation_token(newUser.email) send_email( newUser.email, 'Aktywacja Konta', render_template('auth/activate.html', confirm_url=url_for('auth.confirm_account', token=token, _external=True))) return jsonify( message= 'Twoje konto zostało pomyślnie utworzone! Na adres e-mail została wysłana wiadomość z linkiem aktywacyjnym - prosimy aktywować konto.' )
def get(self): user = User.objects(username='******').first() login_user(user) if not current_user.is_authenticated: return abort(403) if current_user.confirmed: return abort(403) user = User.objects(username=current_user.username).first_or_404() token = generate_confirmation_token(user.email) send_email( user.email, 'Aktywacja Konta', render_template('auth/activate.html', confirm_url=url_for('auth.confirm_account', token=token, _external=True))) return jsonify( message='Na twoj adres email został wysłany link potwierdzający!')
def post(self, request): register_form = RegisterForm(request.POST) if register_form.is_valid(): user_email = request.POST.get('email', '') password = request.POST.get('password', '') user_profile = UserProfile() user_profile.email = user_email user_profile.username = user_email user_profile.password = make_password(password) user_profile.is_active = False user_profile.save() send_email(user_email) return render(request, 'login.html', {}) else: return render(request, 'register.html', {'register_form': register_form})
def run(self): self.login() if not Config.auto_code_enable: Log.v("未开启自动打码功能, 不检测用户登录状态") Log.v("正在查询车次余票信息") count = 0 while True: if Config.auto_code_enable: status, msg = self.online_checker() Log.v(msg) count += 1 n = datetime.datetime.now() q = Query() data = q.filter() if not data: Log.v("满足条件的车次暂无余票,正在重新查询") for v in data: print("\t\t\t当前座位席别 {}".format(v[0].name)) q.pretty_output(v[1]) delta_time = datetime.datetime.now() - n try: delta = Config.basic_config.query_left_ticket_time - 1 + random.random() except AttributeError: delta = 4 + random.random() time.sleep(delta) Log.v("查询第 {0} 次, 当次查询时间间隔为 {1} 秒, 查询请求处理时间 {2} 秒".format( count, delta, delta_time.total_seconds())) for v in data: if Config.basic_config.fast_submit: submit = FastSubmitDcOrder(v[1], v[0]) else: submit = NormalSubmitDcOrder(v[1], v[0]) f = submit.run() if not f: continue else: self.order_id = submit.order_id break if self.order_id: break Log.v("抢票成功,如果有配置邮箱,稍后会收到邮件通知") # 抢票成功发邮件信息 send_email(2, **{"order_no": self.order_id})
def main(request): # TODO refactor into a class logging.basicConfig(level="INFO") logger = logging.getLogger(__name__) # TODO get url and weekend from db weekend = str(4) url = "http://competicio.fcvoleibol.cat/competiciones.asp?torneo=4356&jornada=" + weekend # Parse games results from website logger.info("Parsing website") games_played, games = get_results(url, logger) logger.info("Results correctly parsed") logger.info("Results are analized now:") # If all the results are empty we can finish here. Only dump when there # has been a first result if games_played == 0: # TODO should I log this? It will be logged every 5 minutes before the # first results have been played.. logger.info("There are no results for this weekend yet") return "204: No game results" # This is to format the document into a json format document = games_to_doc(games) # TODO remove this from deployment, useful only for local testing if TEST: try: print("DOC", document) send_email(weekend, url, document) logger.info("Email sent succesfully") except Exception as e: logger.error(e) raise Exception(e) logger.info("There are results available. We compare them with previous" + " results") # Now we should check for the same doc in the database and decide if # an email should be sent accordingly compare_and_send(document, weekend, logger, url) logger.info("Finished") return str(200)
def register(request): if request.method == 'POST': data = request.POST user = CustomUser.create(first_name=data.get('first_name'), last_name=data.get('last_name'), email=data.get('email'), phone=data.get('phone'), password=data.get('password')) if user: email_data = {'domain': settings.FRONT_HOST, 'token': user.email} subject = 'VakomsBlog Activation' message = 'registration' template = 'registration.html' send_email(subject, message, [ user.email, ], template, email_data) return render(request, 'authentication/index.html') else: return render(request, 'authentication/register.html')
def post(self, request): if not request.user.is_authenticated(): self.form_class = ChangePasswordFormUnAuth self.template_name = 'music/change_password1.html' form = self.form_class(request.POST) if form.is_valid(): # Cleaned normalized data current_password = form.cleaned_data['password'] new_password = form.cleaned_data['password1'] if not request.user.is_authenticated(): username = form.cleaned_data['username'] user = User.objects.get(username=username) auth = authenticate(username=username, password=current_password) else: user = User.objects.get(username=request.user) auth = authenticate(username=request.user, password=current_password) if not auth: context = {'form': form, 'error_message': 'Current password is incorrect.'} return render(request, self.template_name, context) if current_password == new_password: context = {'form': form, 'error_message': 'Current pasword and new password is same.'} return render(request, self.template_name, context) user.set_password(new_password) user.is_active = True user.save() log.debug("'{0}' is changed password successfully.".format(request.user)) subject = 'Password Changed Successfully - SongsIndia.com' email_body = change_pass_email_body.format(user.first_name, user.username, new_password, request.get_host()) send_email(settings.DEFAULT_FROM_EMAIL, settings.EMAIL_HOST_PASSWORD, user.email, subject, email_body) context = {'form': LoginForm(None), 'success_message': 'Password has been changed successfully.'\ ' Please login with the changed password.'} return redirect('music:login') return render(request, self.template_name, {'form': form})
def forgot_password(request): if request.method == "POST": # 初始化一个给AJAX返回的数据 ret = {"status": 0, "msg": ""} # 从提交过来的数据中 取到用户名和密码 username = request.POST.get("username") is_email = re.match( r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$', username) if is_email is None: try: models.UserInfo.objects.get(username=username) email = models.UserInfo.objects.filter( username=username).values_list('email', flat=True) flag = send_email(email[0], "forget") if flag == 1: ret["msg"] = "/login/" return JsonResponse(ret) else: ret["msg"] = flag ret["status"] = 1 return JsonResponse(ret) except: ret["status"] = 1 ret["msg"] = "用户名不存在!" return JsonResponse(ret) else: try: models.UserInfo.objects.get(email=username) flag = send_email(username, "forget") if flag == 1: ret["msg"] = "/login/" return JsonResponse(ret) else: ret["msg"] = flag ret["status"] = 1 return JsonResponse(ret) except: ret["status"] = 1 ret["msg"] = "邮箱地址不存在!" return JsonResponse(ret) return render(request, "front_end/forgot_password.html")
def post(self, request, post_id): data = request.POST post = Post.get_by_id(post_id) if data and request.user.is_authenticated: comment = Comment.create(content=data.get('content'), author=request.user, post=post) email_data = { 'post': post.title, 'commentator': comment.author.first_name } subject = 'VakomsBlog New Comment' message = 'comment' template = 'comment.html' recipient = post.author.email send_email(subject, message, [ recipient, ], template, email_data) return HttpResponseRedirect( reverse("post:index", kwargs={'post_id': post_id}))
def post(self, request): register_form = RegisterForm(request.POST) if register_form.is_valid(): user_name = request.POST.get("email", "") if UserProfile.objects.filter(email=user_name): return render(request, "register.html", { "register_form": register_form, "msg": "用户已经存在" }) pass_word = request.POST.get("password", "") user_profile = UserProfile() user_profile.is_active = False user_profile.username = user_name user_profile.email = user_name user_profile.password = make_password(pass_word) user_profile.save() send_email(user_name, "register") return render(request, "login.html") else: return render(request, "register.html", {"register_form": register_form})
def run(self): try: suite = self.set_case_suite() print('try') print(str(suite)) if suite: fp = open(result_path, 'wb') html_runner = HTMLTestRunner(stream=fp, title='test report', description='test login') html_runner.run(suite) else: print('failed, suite is None'.center(30, '*')) except Exception as e: print(str(e)) finally: print('Test End'.center(30, '*')) if on_off == 'on': send_email() else: print('send email off . reopen it to send report.hmtl')
def post(self, request): form = self.form_class(request.POST) if form.is_valid(): user = form.save(commit=False) # Cleaned normalized data username = form.cleaned_data['username'] password = form.cleaned_data['password1'] phone_number = form.cleaned_data['phone_number'] user.set_password(password) sms = SendTextMessage(settings.TWILIO_SID, settings.TWILIO_TOKEN) sms_code = sms.validate_phone_number(phone_number) if sms_code: log.info('Phone verification for {0}: {1}'.format(phone_number, sms_code)) return render(request, self.template_name, {'form': form, 'phone_code': sms_code}) # Formatting text message data message = sms_message.format( form.cleaned_data['first_name'], request.get_host()) # Sending text message to proviede phone number sms.send_sms(settings.FROM_SMS_NO, phone_number, message) # Formatting email data subject = 'Welcome to - SongsIndia.com' email_body = register_email_body.format( form.cleaned_data['first_name'], username, password) # Sending email to proviede email ID send_email(settings.DEFAULT_FROM_EMAIL, settings.EMAIL_HOST_PASSWORD, form.cleaned_data['email'], subject, email_body) # Returns User objects if credentials are correct user.save() log.debug("'{0}' registered successfully.".format(username)) user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) return redirect('music:index') return render(request, self.template_name, {'form': form})
def handler(): config = configparser.ConfigParser() config.read('config/config') aws_region = config['AWS']['AWS_REGION'] session = boto3.Session(region_name=aws_region) sts = session.client('sts') ses = session.client('ses') sender = 'AWS Resources Patrol <' + config['AWS']['SENDER'] + '>' recipients = config['AWS']['RECIPIENTS'].split() subject = '[AWS] AWS Resources Patrol - ' charset = 'UTF-8' mail_enabled = config['AWS']['MAIL_ENABLED'] account_id = sts.get_caller_identity().get('Account') account_alias = boto3.client('iam').list_account_aliases()['AccountAliases'][0] regions = [region['RegionName'] for region in session.client('ec2').describe_regions()['Regions']] ec2_running = [] rds_running = [] redshift_running = [] elasticsearch_running = [] cost = costs(aws_region) for region in regions: print('Checking running instances in: {}'.format(region)) ec2_running = ec2(region, ec2_running) rds_running = rds(region, rds_running) redshift_running = redshift(region, redshift_running) elasticsearch_running = es(region, elasticsearch_running) send_email(account_id, account_alias, mail_enabled, ses, sender, recipients, subject, charset, cost, ec2_running, rds_running, redshift_running, elasticsearch_running) print('Number of running EC2 instances: {} '.format(len(ec2_running))) print('Number of running RDS instances: {} '.format(len(rds_running))) print('Number of running Redshift instances: {} '.format(len(redshift_running))) print('Number of created Elasticsearch domains: {} '.format(len(elasticsearch_running)))
def post(self, request): form = self.form_class(request.POST) if form.is_valid(): # Cleaned normalized data username = form.cleaned_data['username'] email = form.cleaned_data['email'] if not User.objects.filter(username=username): context = {'form': form, 'error_message': 'Username does not exists.'} return render(request, self.template_name, context) try: user = User.objects.get(Q(username=username) & Q(email=email)) except User.DoesNotExist: context = {'form': form, 'error_message': 'Provided email address does not matching with the username.'} return render(request, self.template_name, context) temp_pass = ''.join(random.choice( string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(8)) user.set_password(temp_pass) user.is_active = False user.save() log.debug("'{0}' requsted to reset password.".format(request.user)) # Formatting email data to Reset password subject = 'Reset Password - SongsIndia.com' email_body = forget_pass_email_body.format( user.first_name, user.username, temp_pass, request.get_host()) success_message = 'An email has been sent to {0}. Please check its inbox to continue '\ 'reset your password.'.format(email) context = {'form': form, 'success_message': success_message } send_email(settings.DEFAULT_FROM_EMAIL, settings.EMAIL_HOST_PASSWORD, form.cleaned_data['email'], subject, email_body) return render(request, self.template_name, context) return render(request, self.template_name, {'form': form})
def post(self, request): forget_pwd_form = ForgetPwdForm(request.POST) banner_courses = Course.objects.filter(is_banner=True)[:3] if forget_pwd_form.is_valid(): email = request.POST.get('email') user = UserProfile.objects.filter(email=email) #检查账户是否存在,不存在则不发送邮箱 if user: send_email(email, 'forget') return render(request, 'send_success.html') else: return render( request, 'forgetpwd.html', { 'forget_pwd_form': forget_pwd_form, 'banner_courses': banner_courses, 'msg': '账户不存在!' }) else: return render( request, 'forgetpwd.html', { 'forget_pwd_form': forget_pwd_form, 'banner_courses': banner_courses })
def run(suite): start_time = time.time() logging.info("{} 测试开始 {}".format("=" * 25, "=" * 25)) report_config = Config.get_report_config() report_dir = report_config.get("report_dir") or 'report' report_title = report_config.get("report_title") or "Test Report" report_description = report_config.get("report_description") or "" run_config = Config.get_run_config() is_send_email = run_config.get('is_send_email') # task_dir = Config.task_dir # report_file = os.path.join(task_dir, 'report.html') # now = time.strftime('%Y%m%d_%H%M%S', time.localtime()) # report_file = os.path.join(PROJECT_ROOT, report_dir, 'report_{}.html'.format(now)) report_file = os.path.join(PROJECT_ROOT, report_dir, 'report.html') # 录制屏幕 # os.popen('adb shell screenrecord /sdcard/record.mp4') with open(report_file, 'wb') as f: # 从配置文件中读取 result = HTMLTestRunner(stream=f, title=report_title, description=report_description).run(suite) # 下载录制文件 # os.system('adb pull /sdcard/record.mp4 {}'.format(task_dir)) last_fails_file = 'last_fails.suite' if result.failures: save_failures(result, last_fails_file) if is_send_email: send_email() case_num = suite.countTestCases() duration = time.time() - start_time logging.info("{} 测试结束 执行用例:{} 用时: {:.3f}s {}".format( "=" * 10, case_num, duration, "=" * 10))
def post(self, request): register_form = RegisterForm(request.POST) if register_form.is_valid(): username = request.POST.get("email", "") if UserProfile.objects.filter(email=username): return render(request, 'register.html', {"register_form": register_form, "msg": "用户已经存在"}) password = request.POST.get("password", "") user_profile = UserProfile() user_profile.is_active = False user_profile.username = username user_profile.email = username user_profile.password = make_password(password) user_profile.save() # 添加用户消息 user_message = UserMessage() user_message.user = user_profile.id user_message.message = "欢迎注册Mooc 学习网" user_message.save() send_email(username, "register") return render(request, 'login.html') else: return render(request, 'register.html', {"register_form": register_form})