本文整理汇总了Python中qiita_db.user.User类的典型用法代码示例。如果您正苦于以下问题:Python User类的具体用法?Python User怎么用?Python User使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了User类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
def post(self, code):
message = ""
level = ""
page = "change_lost_pass.html"
user = None
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
message = "Unable to reset password"
level = "danger"
else:
newpass = self.get_argument("newpass")
changed = user.change_forgot_password(code, newpass)
if changed:
message = ("Password reset successful. Please log in to "
"continue.")
level = "success"
page = "index.html"
else:
message = ("Unable to reset password. Most likely your email "
"is incorrect or your reset window has timed out.")
level = "danger"
self.render(page, message=message, level=level, code=code)
示例2: post
def post(self, code):
message = ""
level = ""
page = "change_lost_pass.html"
user = None
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
message = "Unable to reset password"
level = "danger"
else:
newpass = self.get_argument("newpass")
try:
changed = user.change_forgot_password(code, newpass)
except IncorrectPasswordError:
message = "The new password is not valid. Try again."
changed = False
except QiitaDBError:
message = "Invalid code. Request a new one."
changed = False
if changed:
message = ("Password reset successful. Please log in to "
"continue.")
level = "success"
page = "index.html"
else:
if message != "":
message = ("Unable to reset password. Most likely your "
"email is incorrect or your reset window has "
"timed out.")
level = "danger"
self.render(page, message=message, level=level, code=code)
示例3: post
def post(self):
message = ""
level = ""
page = "lost_pass.html"
user_id = None
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
message = "ERROR: Unknown user."
level = "danger"
else:
user_id = user.id
user.generate_reset_code()
info = user.info
try:
send_email(user.id, "Qiita: Password Reset", "Please go to "
"the following URL to reset your password: "
"http://qiita.colorado.edu/auth/reset/%s" %
info["pass_reset_code"])
message = ("Check your email for the reset code.")
level = "success"
page = "index.html"
except Exception as e:
message = ("Unable to send email. Error has been registered. "
"Your password has not been reset.")
level = "danger"
LogEntry.create('Runtime', "Unable to send forgot password "
"email: %s" % str(e), info={'User': user.id})
self.render(page, user=user_id, message=message, level=level)
示例4: test_messages
def test_messages(self):
add_system_message('SYS MESSAGE', datetime.now())
user = User('[email protected]')
obs = user.messages()
exp_msg = [
(4, 'SYS MESSAGE'),
(1, 'message 1'),
(2, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '
'Pellentesque sed auctor ex, non placerat sapien. Vestibulum '
'vestibulum massa ut sapien condimentum, cursus consequat diam'
' sodales. Nulla aliquam arcu ut massa auctor, et vehicula '
'mauris tempor. In lacinia viverra ante quis pellentesque. '
'Nunc vel mi accumsan, porttitor eros ut, pharetra elit. Nulla'
' ac nisi quis dui egestas malesuada vitae ut mauris. Morbi '
'blandit non nisl a finibus. In erat velit, congue at ipsum '
'sit amet, venenatis bibendum sem. Curabitur vel odio sed est '
'rutrum rutrum. Quisque efficitur ut purus in ultrices. '
'Pellentesque eu auctor justo.'),
(3, 'message <a href="#">3</a>')]
self.assertEqual([(x[0], x[1]) for x in obs], exp_msg)
self.assertTrue(all(x[2] < datetime.now() for x in obs))
self.assertFalse(all(x[3] for x in obs))
self.assertEqual([x[4] for x in obs], [True, False, False, False])
obs = user.messages(1)
exp_msg = ['SYS MESSAGE']
self.assertEqual([x[1] for x in obs], exp_msg)
示例5: test_get
def test_get(self):
response = self.get('/auth/verify/SOMETHINGHERE?email=test%40foo.bar')
self.assertEqual(response.code, 200)
User.create('[email protected]', 'Somesortofpass')
response = self.get('/auth/verify/SOMETHINGHERE?email=new%40test.bar')
self.assertEqual(response.code, 200)
示例6: test_verify_code
def test_verify_code(self):
sql = ("insert into qiita.qiita_user values ('[email protected]', '1', "
"'testtest', 'testuser', '', '', '', 'verifycode', 'resetcode'"
",null)")
self.conn_handler.execute(sql)
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'create'))
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'reset'))
self.assertTrue(User.verify_code('[email protected]', 'verifycode',
'create'))
self.assertTrue(User.verify_code('[email protected]', 'resetcode',
'reset'))
# make sure errors raised if code already used or wrong type
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'verifycode', 'create')
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'resetcode', 'reset')
with self.assertRaises(IncompetentQiitaDeveloperError):
User.verify_code('[email protected]', 'fakecode', 'badtype')
# make sure default analyses created
sql = ("SELECT email, name, description, dflt FROM qiita.analysis "
"WHERE email = '[email protected]'")
obs = self.conn_handler.execute_fetchall(sql)
exp = [['[email protected]', '[email protected]', 'dflt', True],
['[email protected]', '[email protected]', 'dflt', True]]
self.assertEqual(obs, exp)
示例7: test_verify_code
def test_verify_code(self):
add_system_message("TESTMESSAGE_OLD", datetime.now())
add_system_message("TESTMESSAGE",
datetime.now() + timedelta(seconds=59))
sql = ("insert into qiita.qiita_user values ('[email protected]', '1', "
"'testtest', 'testuser', '', '', '', 'verifycode', 'resetcode'"
",null)")
self.conn_handler.execute(sql)
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'create'))
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'reset'))
self.assertTrue(User.verify_code('[email protected]', 'verifycode',
'create'))
self.assertTrue(User.verify_code('[email protected]', 'resetcode',
'reset'))
# make sure errors raised if code already used or wrong type
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'verifycode', 'create')
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'resetcode', 'reset')
with self.assertRaises(IncompetentQiitaDeveloperError):
User.verify_code('[email protected]', 'fakecode', 'badtype')
# make sure default analyses created
sql = ("SELECT email, name, description, dflt FROM qiita.analysis "
"WHERE email = '[email protected]'")
obs = self.conn_handler.execute_fetchall(sql)
exp = [['[email protected]', '[email protected]', 'dflt', True],
['[email protected]', '[email protected]', 'dflt', True]]
self.assertEqual(obs, exp)
# Make sure default analyses are linked with the portal
sql = """SELECT COUNT(1)
FROM qiita.analysis
JOIN qiita.analysis_portal USING (analysis_id)
JOIN qiita.portal_type USING (portal_type_id)
WHERE email = '[email protected]' AND dflt = true"""
self.assertEqual(self.conn_handler.execute_fetchone(sql)[0], 2)
# Make sure new system messages are linked to user
sql = """SELECT message_id FROM qiita.message_user
WHERE email = '[email protected]'"""
m_id = get_count('qiita.message')
self.assertEqual(self.conn_handler.execute_fetchall(sql), [[m_id]])
示例8: test_get_deselected
def test_get_deselected(self):
s = Study(1)
u = User('[email protected]')
args = {'deselected': u.id, 'id': s.id}
self.assertEqual(s.shared_with, [u])
response = self.get('/study/sharing/', args)
self.assertEqual(response.code, 200)
exp = {'users': [], 'links': ''}
self.assertEqual(loads(response.body), exp)
self.assertEqual(s.shared_with, [])
# Make sure unshared message added to the system
self.assertEqual('Study \'Identification of the Microbiomes for '
'Cannabis Soils\' has been unshared from you.',
u.messages()[0][1])
示例9: test_delete_messages
def test_delete_messages(self):
# Make message 1 a system message
sql = """UPDATE qiita.message
SET expiration = '2015-08-05'
WHERE message_id = 1"""
self.conn_handler.execute(sql)
user = User('[email protected]')
user.delete_messages([1, 2])
obs = user.messages()
exp_msg = [(3, 'message <a href="#">3</a>')]
self.assertItemsEqual([(x[0], x[1]) for x in obs], exp_msg)
sql = "SELECT message_id FROM qiita.message"
obs = self.conn_handler.execute_fetchall(sql)
self.assertItemsEqual(obs, [[1], [3]])
示例10: test_create_user
def test_create_user(self):
user = User.create('[email protected]', 'password')
self.assertEqual(user.id, '[email protected]')
sql = "SELECT * from qiita.qiita_user WHERE email = '[email protected]'"
obs = self.conn_handler.execute_fetchall(sql)
self.assertEqual(len(obs), 1)
obs = dict(obs[0])
exp = {
'password': '',
'name': None,
'pass_reset_timestamp': None,
'affiliation': None,
'pass_reset_code': None,
'phone': None,
'user_verify_code': '',
'address': None,
'user_level_id': 5,
'email': '[email protected]'}
self._check_correct_info(obs, exp)
# make sure default analysis created
sql = ("SELECT email, name, description, dflt FROM qiita.analysis "
"WHERE email = '[email protected]'")
obs = self.conn_handler.execute_fetchall(sql)
exp = [['[email protected]', '[email protected]t.bar-dflt', 'dflt', True]]
self.assertEqual(obs, exp)
示例11: post
def post(self):
username = self.get_argument("username", "").strip().lower()
passwd = self.get_argument("password", "")
nextpage = self.get_argument("next", "/")
msg = ""
# check the user level
try:
if User(username).level == "unverified":
# email not verified so dont log in
msg = "Email not verified"
except QiitaDBUnknownIDError:
msg = "Unknown user"
# Check the login information
login = None
try:
login = User.login(username, passwd)
except IncorrectEmailError:
msg = "Unknown user"
except IncorrectPasswordError:
msg = "Incorrect password"
if login:
# everything good so log in
self.set_current_user(username)
self.redirect(nextpage)
else:
self.render("index.html", user=None, loginerror=msg)
示例12: post
def post(self, code):
error = ""
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
error = "Unable to reset password"
else:
newpass = self.get_argument("newpass")
changed = user.change_forgot_password(code, newpass)
if changed:
error = "Password reset successful. Please log in to continue."
else:
error = "Unable to reset password"
self.render("change_lost_pass.html", user=None,
error=error, code=code)
示例13: post
def post(self):
username = self.get_argument("username", "")
passwd = self.get_argument("password", "")
# check the user level
try:
if User(username).level == 4: # 4 is id for unverified
# email not verified so dont log in
msg = "Email not verified"
except QiitaDBUnknownIDError:
msg = "Unknown user"
# Check the login information
login = None
try:
login = User.login(username, passwd)
except IncorrectEmailError:
msg = "Unknown user"
except IncorrectPasswordError:
msg = "Incorrect password"
if login:
# everthing good so log in
self.set_current_user(username)
self.redirect("/")
return
self.render("index.html", user=None, loginerror=msg)
示例14: post
def post(self):
username = self.get_argument("email", "").strip().lower()
password = self.get_argument("newpass", "")
info = {}
for info_column in ("name", "affiliation", "address", "phone"):
hold = self.get_argument(info_column, None)
if hold:
info[info_column] = hold
created = False
try:
created = User.create(username, password, info)
except QiitaDBDuplicateError:
msg = "Email already registered as a user"
if created:
info = created.info
try:
send_email(username, "QIITA: Verify Email Address", "Please "
"click the following link to verify email address: "
"%s/auth/verify/%s?email=%s"
% (qiita_config.base_url, info['user_verify_code'],
url_escape(username)))
except:
msg = ("Unable to send verification email. Please contact the "
"qiita developers at <a href='mailto:qiita-help"
"@gmail.com'>[email protected]</a>")
self.redirect(u"/?level=danger&message=" + url_escape(msg))
return
self.redirect(u"/")
else:
error_msg = u"?error=" + url_escape(msg)
self.redirect(u"/auth/create/" + error_msg)
示例15: get
def get(self, code):
email = self.get_argument("email").strip().lower()
if User.verify_code(email, code, "create"):
msg = "Successfully verified user! You are now free to log in."
else:
msg = "Code not valid!"
self.render("user_verified.html", msg=msg)