def post_account(): # Flask apparently throws 400 errors if POST form data isn't present. # Full name user_id = session['user_id'] location = settings.get_user(user_id)['feed_location'] user = User(local_url=location) if request.form.get('full_name_changed') == 'true': user.full_name = request.form['full_name'] # Username if request.form.get('username_changed') == 'true': username= request.form['username'] if len(username) > 0: user.username = username # Bio if request.form.get('bio_changed') == 'true': user.description = request.form['bio'] # Email if request.form.get('email_changed') == 'true': email = request.form['email'] user_dict = settings.get_user(user_id) user_dict['email'] = email settings.add_user(user_dict) # Password if request.form.get('password_changed') == 'true': password = request.form['password'] password_confirm = request.form['password_confirm'] if password == password_confirm: user_dict = settings.get_user(user_id) user_dict['pwd_hash'] = generate_password_hash(password) settings.add_user(user_dict) # Language if request.form.get('language_changed') == 'true': user.language = request.form['language'] return render_template('account.html', user=user, error='Your settings have been saved.')
def test_remote_language(self): language = 'en' user = User(remote_url='http://microblog.brianschrader.com/feed') try: # should fail. user.language = language self.fail('setting a remote user should be forbidden.') except Exception as e: pass
def test_local_language(self): language = 'en' user = User(local_url='user/feed.xml') try: user.language = language except Exception as e: print e self.fail('Setting local user language failed.') self.assertEqual(user.language, language)
def test_cached_language(self): language = 'en' user = User(entries={ 'language': language }) language = 'http://example.net' try: user.language = language except Exception as e: print e self.fail('Setting cached language failed.') self.assertEqual(user.language, language)