def test_delete_setting(self): name = 'spaceship' value = 'NCC-74656' group = 'USS' store.set_setting(name, value, group) self.assertEquals('', store.get_setting(name, 'NON-USS', '')) self.assertEquals(value, store.get_setting(name, group, '')) store.delete_setting(name, group) self.assertEquals(None, store.get_setting(name, group))
def get_feed_html(): ''' Get feed html in <head>...</head>. ''' feed_title = store.get_setting(FEED_TITLE, GROUP_OPTIONS, 'Posts') feed_proxy = get_feed_url() return r'<link href="%s" title="%s" type="application/rss+xml" rel="alternate" />' % (feed_proxy, feed_title)
def test_set_setting(self): name = 'email' value = '*****@*****.**' self.assertTrue(store.get_setting(name) is None) self.assertEquals('*****@*****.**', store.get_setting(name, store.DEFAULT_GROUP, '*****@*****.**')) store.set_setting(name, value) self.assertEquals(value, store.get_setting(name)) name2 = 'url' value2 = 'http://guest.example.com' store.set_setting(name2, value2) # get settings as dict: d = store.get_settings() self.assertTrue(name in d) self.assertTrue(name2 in d) self.assertEquals(value, d[name]) self.assertEquals(value2, d[name2])
def get_feed_url(): ''' Get feed url ''' feed_proxy = store.get_setting(FEED_PROXY, GROUP_OPTIONS, '') if not feed_proxy: feed_proxy = '/blog/feed' return feed_proxy
def get_feed_html(): ''' Get feed html in <head>...</head>. ''' feed_title = store.get_setting(FEED_TITLE, GROUP_OPTIONS, 'Posts') feed_proxy = get_feed_url() return r'<link href="%s" title="%s" type="application/rss+xml" rel="alternate" />' % ( feed_proxy, feed_title)
def do_forgot(**kw): ip = kw['request'].remote_addr ctx = kw['context'] # verify captcha: challenge = ctx.get_argument('recaptcha_challenge_field', '') response = ctx.get_argument('recaptcha_response_field', '') email = ctx.get_argument('email', '') user = store.get_user_by_email(email) if user is None: return { '__view__' : 'forgot', 'email' : email, 'error' : 'Email is not exist', 'recaptcha_public_key' : recaptcha.get_public_key(), 'site' : _get_site_info(), 'version' : get_version(), } result, error = recaptcha.verify_captcha(challenge, response, recaptcha.get_private_key(), ip) if result: token = model.create_reset_password_token(user.id) sender = store.get_setting('sender', 'mail', '') if not sender: raise ApplicationError('Cannot send mail: mail sender address is not configured.') appid = kw['environ']['APPLICATION_ID'] body = r'''Dear %s You received this mail because you have requested reset your password. Please paste the following link to the address bar of the browser, then press ENTER: https://%s.appspot.com/manage/reset?token=%s ''' % (user.nicename, appid, token) html = r'''<html> <body> <p>Dear %s</p> <p>You received this mail because you have requested reset your password.<p> <p>Please paste the following link to reset your password:</p> <p><a href="https://%s.appspot.com/manage/reset?token=%s">https://%s.appspot.com/manage/reset?token=%s</a></p> <p>If you have trouble in clicking the URL above, please paste the following link to the address bar of the browser, then press ENTER:</p> <p>https://%s.appspot.com/manage/reset?token=%s</p> </body> </html> ''' % (urllib.quote(user.nicename), appid, token, appid, token, appid, token) mail.send(sender, email, 'Reset your password', body, html) return { '__view__' : 'sent', 'email' : email, 'site' : _get_site_info(), 'version' : get_version(), } return { '__view__' : 'forgot', 'email' : email, 'error' : error, 'recaptcha_public_key' : recaptcha.get_public_key(), 'site' : _get_site_info(), 'version' : get_version(), }
def do_register(**kw): ctx = kw['context'] email = ctx.get_argument('email', '').lower() password = ctx.get_argument('password') nicename = ctx.get_argument('nicename') role = int(store.get_setting('default_role', 'site', `store.ROLE_SUBSCRIBER`)) error = '' try: user = store.create_user(role, email, password, nicename) value = cookie.make_sign_in_cookie(user.id, password, 86400) ctx.set_cookie(cookie.AUTO_SIGNIN_COOKIE, value) return 'redirect:/manage/' except store.UserAlreadyExistError: error = 'Email is already registered by other' except StandardError: logging.exception('Error when create user') error = 'Unexpected error occurred' return { '__view__' : 'register.html', 'error' : error, 'site' : _get_site_info(), }
def main_page(): ''' show main page of wiki ''' entry = store.get_setting('entry', WIKI_SETTINGS, 'Main Page') return get_page(entry)
def _get_site_info(): return {'name': store.get_setting('name', 'site', 'ExpressMe')}
def test_error(self): self.assertRaises(ValueError, lambda: store.set_setting(123, 'abc')) self.assertRaises(ValueError, lambda: store.set_setting('abc', 123)) self.assertRaises(ValueError, lambda: store.get_setting(123)) self.assertRaises(ValueError, lambda: store.get_settings(9.99))
def _get_site_info(): return { 'name' : store.get_setting('name', 'site', 'ExpressMe') }