def search_score_by_code(NSRSBM, NSRMC, SSXDM): from manager import app app_context = app.app_context() app_context.push() _score = Corp_score.query.filter_by(code=NSRSBM).first() app_context.pop() if _score == None: return '[]' return _score.score
def corp_list(): from manager import app app_context = app.app_context() app_context.push() res = db.session.query(CorpInfo.name, CorpInfo.code).all() data = {} for item in res: data.update({item[0]: item[1]}) app_context.pop() return data
def send_async_email(self, app): #异步发送将开启一个新的线程,执行上下文已经不在app内,必须with语句进入app上下文才可以执行mail对象 with app.app_context(): #主要是Message卡,在线程中初始化 msg = Message(self.subject, sender=self.sender, recipients=self.recipients) msg.body = self.text_body msg.html = self.html_body mail.send(msg)
def corp_news_list(): from manager import app app_context = app.app_context() app_context.push() res = db.session.query(CorpNews.title, CorpNews.corporation, CorpNews.publish_date).all() data = [] for item in res: # print(type(item), str(item[0]), str(item[1]), str(item[2])) data.append([str(item[0]), str(item[1]), item[2]]) app_context.pop() return data
def score_to_database(_code, _scores): from manager import app app_context = app.app_context() app_context.push() _exist = Corp_score.query.filter_by(code=_code).first() if _exist is not None: Corp_score.query.filter_by(code=_code).update({'score': _scores}) res = "Already Update" print("Update") else: _corp_score = Corp_score(code=_code, score=_scores) db.session.add(_corp_score) db.session.commit() res = "Already Add" print("Add") app_context.pop() return res
def add_test_users(): users = [] now = datetime.datetime.now() for num in range(0, 10000): try: user = User() user.nick_name = "%011d" % num user.mobile = "%011d" % num user.password_hash = "pbkdf2:sha256:50000$SgZPAbEj$a253b9220b7a916e03bf27119d401c48ff4a1c81d7e00644e0aaf6f3a8c55829" user.last_login = now - datetime.timedelta(seconds=random.randint(0, 2678400)) users.append(user) print(user.mobile) except Exception as e: print(e) with app.app_context(): db.session.add_all(users) db.session.commit() print('OK')
def main(): with app.app_context(): jc_races = JCRace.query.filter(JCRace.selected == 1, JCRace.settled == 0).all() print(jc_races) if jc_races: for jc_race in jc_races: race = Races.query.filter(Races.race_id == jc_race.race_id).first() print(race.race_id, race.scores) ticket_list = [] if race.is_delete == 1: # 比赛取消 结算jcticket,更新排行榜,锁定jc_race ticket_list = settle_ticket(race, is_delete=1) jc_race.settled = 1 elif race.is_started == 2: # 比赛结束 结算jcticket,更新排行榜,锁定jc_race ticket_list = settle_ticket(race) jc_race.settled = 1 db.session.bulk_save_objects(ticket_list) db.session.commit() db.session.close()
def send_email(): """ Function to send mail to all the users with subject, text body, html body, article url and published date. Rendered in an email template. A threaded function to send the email to multiple users in shortened time. """ published_date = str(datetime.now().date()) with app.app_context(): recipients = [ user.email for user in Subscribers.query.all() if user.is_active ] article_url = 'https://me.me/i/none-can-do-me-a-bamboozle-not-one-heck-~mrs-doge-5531225' msg = Message('Campaign', sender='*****@*****.**', recipients=recipients) msg.body = 'Lorem ipsum blah blah blah' msg.html = render_template('email_template.html', published_date=published_date, article_url=article_url) thread = Thread(target=send_async_mail, args=[app, msg]) thread.start()
def mail_send(self, subject, sender, recipients, body): """ 发送邮件任务 :param self: :param subject: 邮件主题 :param sender: 邮件发送者 :param recipients: 邮件接收者邮箱(type:list) :param body: 邮件内容 :return: """ # 循环导入 bug from manager import app mail = Mail(app) msg = Message( subject=subject, sender=(sender, "*****@*****.**"), recipients=recipients # 接收方邮箱(列表类型) ) msg.body = body with app.app_context(): mail.send(msg)
def add_test_users(): users = [] # 当前时间 now = datetime.datetime.now() # 生一万个用户 for num in range(0, 10000): try: user = User() user.nick_name = "%011d" % num user.mobile = "%011d" % num user.password_hash = "pbkdf2:sha256:50000$SgZPAbEj$a253b9220b7a916e03bf27119d401c48ff4a1c81d7e00644e0aaf6f3a8c55829" # 最后一次登录时间(随机时间)12-4 -- 11-4 在过去一个月内时间登录 user.last_login = now - datetime.timedelta( seconds=random.randint(0, 2678400)) users.append(user) print(user.mobile) except Exception as e: print(e) # 手动开启应用上下文 with app.app_context(): # 开启上下文之后,才拥有整个项目的配置,应用对象 db.session.add_all(users) db.session.commit() print('OK')
api.create(SQLALCHEMY_MIGRATE_REPO, 'database repository') api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO) else: # print api api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO)) db.create_all() import sys sys.path.append("..") from manager import db, app from admin.admin_models import Role from admin.admin_models import Manager from flask_security import SQLAlchemyUserDatastore from flask_security.utils import encrypt_password import key with app.app_context(): user_role = Role(name='user') super_user_role = Role(name='superuser') db.session.add(user_role) db.session.add(super_user_role) db.session.commit() user_datastore = SQLAlchemyUserDatastore(db, Manager, Role) test_user = user_datastore.create_user(\ first_name=key.MANAGER_NAME,\ email=key.MAIL_USERNAME,\ password=encrypt_password(key.MANAGER_PASSWORD),\ roles=[user_role, super_user_role]) db.session.commit()
from manager import app from Meeting import db with app.app_context(): db.create_all()
def send_async_email(app, msg): with app.app_context(): mail.send(msg)
def __call__(self, *args, **kwargs): with app.app_context(): return self.run(*args, **kwargs)