Example #1
0
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
Example #2
0
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
Example #3
0
 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)
Example #4
0
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
Example #5
0
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
Example #6
0
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')
Example #7
0
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()
Example #8
0
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()
Example #9
0
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)
Example #10
0
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()
Example #12
0
from manager import app
from Meeting import db

with app.app_context():
    db.create_all()
Example #13
0
def send_async_email(app, msg):
    with app.app_context():
        mail.send(msg)
Example #14
0
 def __call__(self, *args, **kwargs):
     with app.app_context():
         return self.run(*args, **kwargs)