本文整理汇总了Python中announcer.model.SubscriptionAttribute.add方法的典型用法代码示例。如果您正苦于以下问题:Python SubscriptionAttribute.add方法的具体用法?Python SubscriptionAttribute.add怎么用?Python SubscriptionAttribute.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类announcer.model.SubscriptionAttribute
的用法示例。
在下文中一共展示了SubscriptionAttribute.add方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render_announcement_preference_box
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def render_announcement_preference_box(self, req, panel):
klass = self.__class__.__name__
if req.method == "POST":
with self.env.db_transaction as db:
SubscriptionAttribute.\
delete_by_sid_and_class(self.env, req.session.sid,
req.session.authenticated,
klass, db)
def _map(value):
g = re.match('^joinable_group_(.*)', value)
if g:
if req.args.as_bool(value):
return g.groups()[0]
groups = set(filter(None, map(_map, req.args.keys())))
SubscriptionAttribute.add(self.env, req.session.sid,
req.session.authenticated, klass,
'ticket', groups, db)
attrs = filter(None, map(
lambda x: x['target'],
SubscriptionAttribute.find_by_sid_and_class(
self.env, req.session.sid, req.session.authenticated, klass
)
))
data = dict(joinable_groups={})
for group in self.joinable_groups:
data['joinable_groups'][group] = (group in attrs) and True or None
return 'prefs_announcer_joinable_groups.html', data
示例2: do_update
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def do_update(db):
SubscriptionAttribute.delete_by_sid_and_class(
self.env, req.session.sid, req.session.authenticated, klass)
blogs = set(map(lambda x: x.strip(),
req.args.get('announcer_watch_bloggers').split(',')))
SubscriptionAttribute.add(self.env, req.session.sid,
req.session.authenticated, klass, 'blog', blogs)
示例3: do_update
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def do_update(db):
SubscriptionAttribute.delete_by_sid_and_class(self.env,
req.session.sid, req.session.authenticated, klass, db)
users = map(lambda x: x.strip(),
req.args.get("announcer_watch_users").split(','))
SubscriptionAttribute.add(self.env, req.session.sid,
req.session.authenticated, klass, 'user', users, db)
示例4: do_update
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def do_update(db):
SubscriptionAttribute.delete_by_sid_and_class(
self.env, req.session.sid, req.session.authenticated, klass, db
)
def _map(value):
g = re.match("^component_(.*)", value)
if g:
if istrue(req.args.get(value)):
return g.groups()[0]
components = set(filter(None, map(_map, req.args.keys())))
SubscriptionAttribute.add(
self.env, req.session.sid, req.session.authenticated, klass, "ticket", components, db
)
示例5: test_add_delete
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def test_add_delete(self):
attr = SubscriptionAttribute(self.env)
attr.add(self.env, 'user', 1, 'GeneralWikiSubscriber','wiki',
('TracWiki', 'TracWiki'))
cursor = self.db.cursor()
cursor.execute("SELECT COUNT(*) FROM subscription_attribute")
count = cursor.fetchone()
self.assertEqual(count[0], 2)
attr.delete(self.env, 1)
# Make sure, that we really deleted the 1st attribute.
cursor.execute("SELECT target FROM subscription_attribute")
for attribute in cursor.fetchone():
self.assertEqual(attribute, 'TracWiki')
cursor.execute("SELECT COUNT(*) FROM subscription_attribute")
count = cursor.fetchone()
self.assertEqual(count[0], 1)
# Deleting non-existent subscriptions is handled gracefully.
attr.delete(self.env, 1)
示例6: render_announcement_preference_box
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def render_announcement_preference_box(self, req, panel):
klass = self.__class__.__name__
if req.method == "POST":
with self.env.db_transaction:
SubscriptionAttribute.delete_by_sid_and_class(
self.env, req.session.sid, req.session.authenticated,
klass)
blogs = set(map(lambda x: x.strip(),
req.args.get(
'announcer_watch_bloggers').split(',')))
SubscriptionAttribute.add(self.env, req.session.sid,
req.session.authenticated, klass,
'blog', blogs)
attrs = SubscriptionAttribute.\
find_by_sid_and_class(self.env, req.session.sid,
req.session.authenticated, klass)
data = {'sids': ','.join(set(map(lambda x: x['target'], attrs)))}
return 'prefs_announcer_watch_bloggers.html', dict(data=data)
示例7: process_request
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def process_request(self, req):
klass = self.__class__.__name__
m = re.match(r'^/blog_watch/(.*)', req.path_info)
(name,) = m.groups()
with self.env.db_transaction:
attrs = SubscriptionAttribute.find_by_sid_class_and_target(
self.env, req.session.sid, req.session.authenticated,
klass, name)
if attrs:
SubscriptionAttribute.delete_by_sid_class_and_target(
self.env, req.session.sid, req.session.authenticated,
klass, name)
req.session['_blog_watch_message_'] = \
_("You are no longer watching this blog post.")
else:
SubscriptionAttribute.add(
self.env, req.session.sid, req.session.authenticated,
klass, 'blog', (name,))
req.session['_blog_watch_message_'] = \
_("You are now watching this blog post.")
req.redirect(req.href.blog(name))
示例8: set_watch
# 需要导入模块: from announcer.model import SubscriptionAttribute [as 别名]
# 或者: from announcer.model.SubscriptionAttribute import add [as 别名]
def set_watch(self, sid, authenticated, realm, target):
klass = self.__class__.__name__
SubscriptionAttribute.add(self.env, sid, authenticated, klass,
realm, (target,))