def test_delete_settings(self): group = 'test_grp' for i in range(10): store.set_setting('k%s' % i, 'v%s' % i, group) # get settings: ss = store.get_settings(group) for i in range(10): self.assertTrue(('k%s' % i) in ss) # delete settings: store.delete_settings(group) # get settings again: ss = store.get_settings(group) self.assertEquals(0, len(ss.keys()))
def test_get_settings(self): group = 'test_grp' for i in range(10): store.set_setting('key-%d' % i, 'value-%d' % i, group) ss = store.get_settings(group) for i in range(10): self.assertTrue('key-%d' % i in ss) self.assertEquals('value-%d' % i, ss['key-%d' % i])
def _get_from_store(): nav_dict = store.get_settings(NAV_GROUP) if not nav_dict: nav_dict[u"00Home"] = u"/" # sort: keys = nav_dict.keys() keys.sort() navs = [] for key in keys: if len(key) > 2: navs.append((key[2:], nav_dict[key])) return navs
def get_widget_instance_settings(widget_instance, widget_class): ''' Get widget instance settings. Args: widget_instance: Widget instance object. widget_class: Widget class object. Return: Dict (name=value) as settings of WidgetInstance. ''' d = store.get_settings('widget_instance_%s' % widget_instance.id) settings = get_widget_class_settings(widget_class) return d
def _get_from_store(): nav_dict = store.get_settings(NAV_GROUP) if not nav_dict: nav_dict[u'00Home'] = u'/' # sort: keys = nav_dict.keys() keys.sort() navs = [] for key in keys: if len(key) > 2: navs.append(( key[2:], nav_dict[key], )) return navs
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 feed(**kw): ''' Generate rss feed. ''' host = kw['request'].host_url options = store.get_settings(blog.GROUP_OPTIONS) blog.update_default_settings(options) title = options[blog.FEED_TITLE] description = 'Subscribe RSS feed' hub = 'http://pubsubhubbub.appspot.com' link = options[blog.FEED_PROXY] or ('%s/blog/feed' % host) max = int(options[blog.FEED_ITEMS]) posts, cursor = model.get_posts(limit=max) response = kw['response'] response.content_type = 'application/rss+xml' response.charset = 'utf8' out = response.out out.write(r'''<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> <channel> <atom:link rel="hub" href="%s"/> <title>%s</title> <link>%s</link> <description>%s</description> <generator>expressme.org</generator> <language>en</language>''' % (hub, title, link, description)) for post in posts: out.write(r''' <item> <title>%s</title> <link>%s/blog/post/%s</link> <dc:creator>%s</dc:creator> <pubDate>%s</pubDate> <description><![CDATA[%s]]></description> </item>''' % ( post.title, host, post.id, post.author, post.creation_date.strftime('%a, %d %b %Y %H:%M:%S'), post.content )) out.write(r''' </channel> </rss> ''')
def feed(**kw): ''' Generate rss feed. ''' host = kw['request'].host_url options = store.get_settings(blog.GROUP_OPTIONS) blog.update_default_settings(options) title = options[blog.FEED_TITLE] description = 'Subscribe RSS feed' hub = 'http://pubsubhubbub.appspot.com' link = options[blog.FEED_PROXY] or ('%s/blog/feed' % host) max = int(options[blog.FEED_ITEMS]) posts, cursor = model.get_posts(limit=max) response = kw['response'] response.content_type = 'application/rss+xml' response.charset = 'utf8' out = response.out out.write(r'''<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> <channel> <atom:link rel="hub" href="%s"/> <title>%s</title> <link>%s</link> <description>%s</description> <generator>expressme.org</generator> <language>en</language>''' % (hub, title, link, description)) for post in posts: out.write(r''' <item> <title>%s</title> <link>%s/blog/post/%s</link> <dc:creator>%s</dc:creator> <pubDate>%s</pubDate> <description><![CDATA[%s]]></description> </item>''' % (post.title, host, post.id, post.author, post.creation_date.strftime('%a, %d %b %Y %H:%M:%S'), post.content)) out.write(r''' </channel> </rss> ''')
def _options(user, app, context): info = '' if context.method=='post': feed_title = context.get_argument(blog.FEED_TITLE) feed_proxy = context.get_argument(blog.FEED_PROXY) feed_items = context.get_argument(blog.FEED_ITEMS) show_abstract = context.get_argument(blog.SHOW_ABSTRACT) # save: store.set_setting(blog.FEED_TITLE, feed_title, blog.GROUP_OPTIONS) store.set_setting(blog.FEED_PROXY, feed_proxy, blog.GROUP_OPTIONS) store.set_setting(blog.FEED_ITEMS, feed_items, blog.GROUP_OPTIONS) store.set_setting(blog.SHOW_ABSTRACT, show_abstract, blog.GROUP_OPTIONS) info = 'Your options are saved.' # load options: options = store.get_settings(blog.GROUP_OPTIONS) blog.update_default_settings(options) return { '__view__' : 'manage_option', 'options' : options, 'info' : info, }
def _options(user, app, context): info = '' if context.method == 'post': feed_title = context.get_argument(blog.FEED_TITLE) feed_proxy = context.get_argument(blog.FEED_PROXY) feed_items = context.get_argument(blog.FEED_ITEMS) show_abstract = context.get_argument(blog.SHOW_ABSTRACT) # save: store.set_setting(blog.FEED_TITLE, feed_title, blog.GROUP_OPTIONS) store.set_setting(blog.FEED_PROXY, feed_proxy, blog.GROUP_OPTIONS) store.set_setting(blog.FEED_ITEMS, feed_items, blog.GROUP_OPTIONS) store.set_setting(blog.SHOW_ABSTRACT, show_abstract, blog.GROUP_OPTIONS) info = 'Your options are saved.' # load options: options = store.get_settings(blog.GROUP_OPTIONS) blog.update_default_settings(options) return { '__view__': 'manage_option', 'options': options, 'info': info, }
def _get_from_store(): site_dict = store.get_settings(SITE_GROUP) kw = {} for k in site_dict.keys(): kw[str(k)] = site_dict[k] return Site(**kw)
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))