Example #1
0
File: view.py Project: Waywei/www
def interview_atom():
    xml = r.get("feed:interview")
    if not xml:
        interviews = Interview.query\
                .order_by(Interview.create_time.desc()).limit(10).all()
        site = k()
        site.title= u"bearwave 访谈"
        site.subtitle = u"不同的生活经历,得到不同的生活经验,把他们留给年轻人是一件非常有意义的事情"
        site.url = u"http://www.bearwave.com/interview"
        site.atomurl = u"http://www.bearwave.com/interview/atom.xml"
        site.topics = interviews
        site.time = datetime.now()
        xml =  render('/feed/interview.xml',locals())
        r.setex("feed:interview",xml,60*60)
    return Response(xml, mimetype='text/xml')
Example #2
0
File: view.py Project: Waywei/www
def topic_atom():
    xml = r.get("feed:topic")
    if not xml:
        topics = Topic.query\
                .order_by(Topic.create_time.desc()).limit(10).all()
        site = k()
        site.title= u"bearwave 话题"
        site.subtitle = u"最近的话题"
        site.url = u"http://www.bearwave.com"
        site.atomurl = u"http://www.bearwave.com/atom.xml"
        site.topics = topics
        site.time = datetime.now()
        xml =  render('/feed/topic.xml',locals())
        r.setex("feed:topic",xml,60*60)
    return Response(xml, mimetype='text/xml')
Example #3
0
File: user.py Project: Waywei/www
def resetpassword(uuid):
    uid = str(uuid)
    mail = r.get("reset:%s" % uuid)
    if mail:
        form = ResetPasswordForm();
        if form.validate_on_submit():
            user = User.query.filter_by(email=mail).first_or_404()
            user.change_password(form.password.data)
            db.session.commit()
            flash(u"密码修改成功",'success')
            return redirect("/login")

        return render('resetpassword.jade',locals())
        
    else:
        return u"您的链接已经过期,发送后24小时内使用才有效"
Example #4
0
File: user.py Project: Waywei/www
def forgetpassword():
    form = ForgetForm()
    if form.validate_on_submit():
        email = form.data['email'].lower()
        name = form.data['username'].lower()
        try:
            user = User.query.filter_by(email = email).first()
        except:
            user = None
        if user and user.username == name:
            result = r.get("resetuser:%s" % email)
            if result:
                finished = k()
                finished.title = u"重新设置密码"
                finished.content = u"重新设置密码的功能在24小时只能使用一次"
                return render('finished.jade',locals())

            uuid = uuid4() 
            pipe = r.pipeline()
            pipe.set("reset:%s" % uuid,email)
            pipe.expire("reset:%s" % uuid,60*60*24)
            pipe.set("resetuser:%s" % email,"1")
            pipe.expire("resetuser:%s" % email,60*60*24)
            pipe.execute()

            subject = u"重新设置密码-BEARWAVE"
            reseturl = "http://www.bearwave.com/resetpassword/"+str(uuid) 
            text = '''

            这是一封系统自动发送的邮件,不能直接回复。
            如果当前操作不是您本人的所为,请忽略这个邮件,但这类操作意味着可能有人对您的隐私有兴趣。

            修改密码可以访问下面的连接
            '''
            msg = text+reseturl
            send_email(email,subject,msg)
            finished = k()
            finished.title = u"重新设置密码"
            finished.content = u"邮件已发送,请注意垃圾邮件箱"
            return render('finished.jade',locals())
        else:
            error = u"邮箱与用户名不匹配"

    return render('/forgetpassword.jade',locals())
Example #5
0
 def get(self,counter):
     value = r.get(counter)
     if value:
         return value
     else:
         return False