Ejemplo n.º 1
0
def rebuild_comment(comment, replyee_id):
    replyee_name = User.get_name_by_id(replyee_id)
    replyee_abbr = User.get_abbr_by_id(replyee_id)
    comment = "@" + "<a href=" + url_for(
        'user', user_abbr=replyee_abbr
    ) + ">" + replyee_name + "</a>" + "&nbsp;&nbsp;" + comment.split(' ')[1]
    return comment
Ejemplo n.º 2
0
def verify_email(user_id, verify_code):
    user_name = User.get_name_by_id(user_id)
    user_abbr = User.get_abbr_by_id(user_id)
    if verify_code == hashlib.sha1(user_name).hexdigest():
        User.active_user(user_id)
        session.permanent = True
        session['user_id'] = user_id
        session['user_name'] = user_name
        session['user_abbr'] = user_abbr
        return redirect(url_for('verify_email_callback', state='active_succ'))
    else:
        return redirect(url_for('verify_email_callback', state='active_failed'))
Ejemplo n.º 3
0
def verify_email(user_id, verify_code):
	user_name = User.get_name_by_id(user_id)
	user_abbr = User.get_abbr_by_id(user_id)
	if verify_code == hashlib.sha1(user_name).hexdigest():
		User.active_user(user_id)
		session.permanent = True
		session['user_id'] = user_id
		session['user_name'] = user_name
		session['user_abbr'] = user_abbr
		return redirect(url_for('verify_email_callback', state='active_succ'))
	else:
		return redirect(url_for('verify_email_callback', state='active_failed'))
Ejemplo n.º 4
0
def auth():
    code = request.args['code']

    # get access token and userID
    url = "https://www.douban.com/service/auth2/token"
    data = {
        'client_id': config.DOUBAN_CLIENT_ID,
        'client_secret': config.DOUBAN_SECRET,
        'redirect_uri': config.DOUBAN_REDIRECT_URI,
        'grant_type': 'authorization_code',
        'code': code
    }
    data = urllib.urlencode(data)
    req = urllib2.Request(url, data)
    response = urllib2.urlopen(req)
    info = eval(response.read())
    user_id = int(info['douban_user_id'])

    # if user exist
    if User.check_exist_by_id(user_id):
        # if user unactive
        if not User.check_active(user_id):
            return redirect(url_for('verify_email_callback', state='unactive', user_id=user_id))
        else:
            # set session
            session.permanent = True
            session['user_id'] = user_id
            session['user_name'] = User.get_name_by_id(user_id)
            session['user_abbr'] = User.get_abbr_by_id(user_id)
            return redirect(url_for('index'))
    # if not exist
    else:
        # get user info
        url = "https://api.douban.com/v2/user/" + str(user_id)
        req = urllib2.Request(url)
        response = urllib2.urlopen(req)
        user_info = eval(response.read().replace('\\', '')) # remove '\' and convert str to dict

        # add user
        user_id = int(user_info['id'])
        user_name = user_info['name']
        abbr = user_info['uid']
        avatar = user_info['avatar']
        signature = user_info['signature']
        desc = user_info['desc']
        location_id = int(user_info['loc_id']) if 'loc_id' in user_info else 0
        location = user_info['loc_name']
        User.add_user(user_id, user_name, abbr, avatar, signature, desc, location_id, location)

        # go to the verify email page
        return redirect(url_for('send_verify_email', user_id=user_id))
Ejemplo n.º 5
0
def auth():
	code = request.args['code']

	# get access token and userID
	url = "https://www.douban.com/service/auth2/token"
	data = {
		'client_id': config.DOUBAN_CLIENT_ID,
		'client_secret': config.DOUBAN_SECRET,
		'redirect_uri': config.DOUBAN_REDIRECT_URI,
		'grant_type': 'authorization_code',
		'code': code
	}
	data = urllib.urlencode(data)
	req = urllib2.Request(url, data)
	response = urllib2.urlopen(req)
	info = eval(response.read())
	user_id = int(info['douban_user_id'])

	# if user exist
	if User.check_exist_by_id(user_id):
		# if user unactive
		if not User.check_active(user_id):
			return redirect(url_for('verify_email_callback', state='unactive', user_id=user_id))
		else:
			# set session
			session.permanent = True
			session['user_id'] = user_id
			session['user_name'] = User.get_name_by_id(user_id)
			session['user_abbr'] = User.get_abbr_by_id(user_id)
			return redirect(url_for('index'))
	# if not exist
	else:
		# get user info
		url = "https://api.douban.com/v2/user/" + str(user_id)
		req = urllib2.Request(url)
		response = urllib2.urlopen(req)
		user_info = eval(response.read().replace('\\', ''))	# remove '\' and convert str to dict

		# add user
		user_id = int(user_info['id'])
		user_name = user_info['name']
		abbr = user_info['uid']
		avatar = user_info['avatar']
		signature = user_info['signature']
		desc = user_info['desc']
		location_id = int(user_info['loc_id']) if 'loc_id' in user_info else 0
		location = user_info['loc_name']
		User.add_user(user_id, user_name, abbr, avatar, signature, desc, location_id, location)

		# go to the verify email page
		return redirect(url_for('send_verify_email', user_id=user_id))
Ejemplo n.º 6
0
def auth():
    # get current authed userID
    code = request.args['code']
    url = "https://www.douban.com/service/auth2/token"
    data = {
        'client_id': config.DOUBAN_CLIENT_ID,
        'client_secret': config.DOUBAN_SECRET,
        'redirect_uri': config.DOUBAN_REDIRECT_URI,
        'grant_type': 'authorization_code',
        'code': code
    }
    r = requests.post(url, data=data).json()
    user_id = int(r['douban_user_id'])

    # if user exist
    if User.check_exist_by_id(user_id):
        # if user unactive
        if not User.check_active(user_id):
            return redirect(
                url_for('verify_email_callback',
                        state='unactive',
                        user_id=user_id))
        else:
            # set session
            session.permanent = True
            session['user_id'] = user_id
            session['user_name'] = User.get_name_by_id(user_id)
            session['user_abbr'] = User.get_abbr_by_id(user_id)
            return redirect(url_for('index'))
    # if not exist
    else:
        # get user info
        url = "https://api.douban.com/v2/user/" + str(user_id)
        user_info = requests.get(url).json()

        # add user
        user_id = int(user_info['id'])
        user_name = user_info['name']
        abbr = user_info['uid']
        avatar = user_info['avatar']
        signature = user_info['signature']
        desc = user_info['desc']
        location_id = int(user_info['loc_id']) if 'loc_id' in user_info else 0
        location = user_info['loc_name']
        User.add_user(user_id, user_name, abbr, avatar, signature, desc,
                      location_id, location)

        # go to the verify email page
        return redirect(url_for('send_verify_email', user_id=user_id))
Ejemplo n.º 7
0
def auth():
    # get current authed userID
    code = request.args['code']
    url = "https://www.douban.com/service/auth2/token"
    data = {
        'client_id': config.DOUBAN_CLIENT_ID,
        'client_secret': config.DOUBAN_SECRET,
        'redirect_uri': config.DOUBAN_REDIRECT_URI,
        'grant_type': 'authorization_code',
        'code': code
    }
    r = requests.post(url, data=data).json()
    user_id = int(r['douban_user_id'])

    # if user exist
    if User.check_exist_by_id(user_id):
        # if user unactive
        if not User.check_active(user_id):
            return redirect(url_for('verify_email_callback', state='unactive', user_id=user_id))
        else:
            # set session
            session.permanent = True
            session['user_id'] = user_id
            session['user_name'] = User.get_name_by_id(user_id)
            session['user_abbr'] = User.get_abbr_by_id(user_id)
            return redirect(url_for('index'))
    # if not exist
    else:
        # get user info
        url = "https://api.douban.com/v2/user/" + str(user_id)
        user_info = requests.get(url).json()

        # add user
        user_id = int(user_info['id'])
        user_name = user_info['name']
        abbr = user_info['uid']
        avatar = user_info['avatar']
        signature = user_info['signature']
        desc = user_info['desc']
        location_id = int(user_info['loc_id']) if 'loc_id' in user_info else 0
        location = user_info['loc_name']
        User.add_user(user_id, user_name, abbr, avatar, signature, desc, location_id, location)

        # go to the verify email page
        return redirect(url_for('send_verify_email', user_id=user_id))
Ejemplo n.º 8
0
def rebuild_comment(comment, replyee_id):
	replyee_name = User.get_name_by_id(replyee_id)
	replyee_abbr = User.get_abbr_by_id(replyee_id)
	comment = "@" + "<a href=" + url_for('people', user_abbr=replyee_abbr) + ">" + replyee_name + "</a>" + "&nbsp;&nbsp;" + comment.split(' ')[1]
	return comment