def cron_scheduler(x, y): try: # crone task will run for every 15 min from db.mongod import find res_list = find(collection='campaign', query_params={ "campaign": "swiggy", "metrix": { "$and": ['clicks', 'install'] } }) clicks, install = 0, 0 for item in res_list: if item.get('clicks'): clicks += item['clicks'] elif item.get("install"): install += item['install'] if clicks >= 5000 and install >= 100: from services.mail import send_mail send_mail(email="*****@*****.**", email_to="*****@*****.**", email_sub="campaign is stop", password="******", name="xyz", rule='swiggy', campaign='swiggy', schedule="current_date", condition="your_condition", action="action") print("data has been inserted !!") except Exception as e: print("Exception occured cron_scheduler :: {0}".format(str(e)))
def post(self): try: body = request.get_json() reset_token = body.get('reset_token') password = body.get('password') if not reset_token or not password: raise SchemaValidationError user_id = decode_token(reset_token)['identity'] user = User.objects.get(id=user_id) user.modify(password=password) user.hash_password() user.save() return send_mail('[BlogApp] Password reset successful', sender='*****@*****.**', recipients=[user.email], html_body=render_template( 'reset_password/reset_password_success.html')) except SchemaValidationError: raise SchemaValidationError except ExpiredSignatureError: raise ExpiredTokenError except (DecodeError, InvalidTokenError): raise BadTokenError except Exception as e: raise InternalServerError
def post(self): try: body = request.get_json() confirm_token = body.get('confirm_token') is_confirmed = body.get('is_confirmed') if not confirm_token or not is_confirmed: raise SchemaValidationError user_id = decode_token(confirm_token)['identity'] user = User.objects.get(id=user_id) check_is_confirmed = json.loads(user.to_json()).get('is_confirmed') if check_is_confirmed: raise EmailAlreadyExistsError user.modify(is_confirmed=is_confirmed) user.save() return send_mail('[Blog] Account validated successful', sender='*****@*****.**', recipients=[user.email], html_body=render_template('confirm_email/confirm.html')) except SchemaValidationError: raise SchemaValidationError except EmailAlreadyExistsError: raise EmailAlreadyExistsError except ExpiredSignatureError: raise ExpiredTokenError except (DecodeError, InvalidTokenError): raise BadTokenError except Exception as e: raise InternalServerError
def add_rule(): rule = request.form['rule'] campaign = request.form['campaign'] schedule = request.form['schedule'] condition = request.form['condition'] action = request.form['action'] from services.rule import addrule resp = addrule(rule=rule, campaign=campaign, schedule=schedule, condition=condition, action=action) from services.mail import send_mail send_mail(email="*****@*****.**", email_to="*****@*****.**", email_sub="Tryoo campaign test !", password="******", name="abc", rule=rule, campaign=campaign, schedule=schedule, condition=condition, action=action) return redirect("/login")
def post(self): try: url = CONSTANT_URL + "reset/" email = request.get_json().get('email') if not email: raise SchemaValidationError user = User.objects.get(email=email) expires = datetime.timedelta(minutes=10) reset_token = create_access_token(str(user.id), expires_delta=expires) return send_mail('[BlogApp] Reset Your Password', sender='*****@*****.**', recipients=[user.email], html_body=render_template( 'reset_password/forget_password.html', url=url + reset_token)) except DoesNotExist: raise UserDoesnotExistsError except SchemaValidationError: raise SchemaValidationError except Exception as e: raise InternalServerError
def post(self): try: url = CONSTANT_URL + "confirm_account/" email = request.get_json().get('email') if not email: raise SchemaValidationError user = User.objects.get(email=email) expires = datetime.timedelta(hours=12) confirm_token = create_access_token(str(user.id), expires_delta=expires) return send_mail('[ Blog ] Confirm your email', sender='*****@*****.**', recipients=[user.email], html_body=render_template('confirm_email/confirm_account_send.html', url=url + confirm_token)) except FieldDoesNotExist: raise SchemaValidationError except DoesNotExist: raise UserDoesnotExistsError except SchemaValidationError: raise SchemaValidationError except Exception as e: raise InternalServerError