本文整理汇总了Python中r2.lib.db.queries.new_message函数的典型用法代码示例。如果您正苦于以下问题:Python new_message函数的具体用法?Python new_message怎么用?Python new_message使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了new_message函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: send_system_message
def send_system_message(user, subject, body, system_user=None,
distinguished='admin', repliable=False,
add_to_sent=True, author=None):
from r2.lib.db import queries
if system_user is None:
system_user = Account.system_user()
if not system_user:
g.log.warning("Can't send system message "
"- invalid system_user or g.system_user setting")
return
if not author:
author = system_user
item, inbox_rel = Message._new(author, user, subject, body,
ip='0.0.0.0')
item.distinguished = distinguished
item.repliable = repliable
item.display_author = system_user._id
item._commit()
try:
queries.new_message(item, inbox_rel, add_to_sent=add_to_sent)
except MemcachedError:
raise MessageError('reddit_inbox')
开发者ID:CrypticCraig,项目名称:reddit,代码行数:25,代码来源:admintools.py
示例2: POST_traffic_viewer
def POST_traffic_viewer(self, form, jquery, user, thing):
"""
Adds a user to the list of users allowed to view a promoted
link's traffic page.
"""
if not form.has_errors("name",
errors.USER_DOESNT_EXIST, errors.NO_USER):
form.set_inputs(name="")
form.set_html(".status:first", _("added"))
if promote.add_traffic_viewer(thing, user):
user_row = TrafficViewerList(thing).user_row('traffic_viewer', user)
jquery(".traffic_viewer-table").show(
).find("table").insert_table_rows(user_row)
# send the user a message
msg = user_added_messages['traffic']['pm']['msg']
subj = user_added_messages['traffic']['pm']['subject']
if msg and subj:
d = dict(url=thing.make_permalink_slow(),
traffic_url=promote.promo_traffic_url(thing),
title=thing.title)
msg = msg % d
item, inbox_rel = Message._new(c.user, user,
subj, msg, request.ip)
queries.new_message(item, inbox_rel)
开发者ID:Chef1991,项目名称:reddit,代码行数:25,代码来源:promotecontroller.py
示例3: send_ban_message
def send_ban_message(subreddit, mod, user, note=None, days=None, new=True):
sr_name = "/r/" + subreddit.name
if days:
subject = "you've been temporarily banned from %(subreddit)s"
message = ("you have been temporarily banned from posting to "
"%(subreddit)s. this ban will last for %(duration)s days.")
else:
subject = "you've been banned from %(subreddit)s"
message = "you have been banned from posting to %(subreddit)s."
if not new:
subject = "Your ban from %(subreddit)s has changed"
subject %= {"subreddit": sr_name}
message %= {"subreddit": sr_name, "duration": days}
if note:
message += "\n\n" + 'note from the moderators:'
message += "\n\n" + blockquote_text(note)
message += "\n\n" + ("you can contact the moderators regarding your ban "
"by replying to this message. **warning**: using other accounts to "
"circumvent a subreddit ban is considered a violation of reddit's "
"[site rules](/help/contentpolicy#section_prohibited_behavior) "
"and can result in the "
"[suspension](https://reddit.zendesk.com/hc/articles/205687686) "
"of your reddit account.")
item, inbox_rel = Message._new(mod, user, subject, message, request.ip,
sr=subreddit, from_sr=True)
queries.new_message(item, inbox_rel, update_modmail=False)
开发者ID:Umdlye,项目名称:reddit,代码行数:31,代码来源:system_messages.py
示例4: send_ban_message
def send_ban_message(subreddit, mod, user, note=None, days=None, new=True):
sr_name = "/r/" + subreddit.name
if days:
subject = "you've been temporarily banned from %(subreddit)s"
message = ("you have been temporarily banned from posting to "
"%(subreddit)s. this ban will last for %(duration)s days.")
else:
subject = "you've been banned from %(subreddit)s"
message = "you have been banned from posting to %(subreddit)s."
if not new:
subject = "Your ban from %(subreddit)s has changed"
subject %= {"subreddit": sr_name}
message %= {"subreddit": sr_name, "duration": days}
if note:
message += "\n\n" + 'note from the moderators:'
message += "\n\n" + blockquote_text(note)
message += "\n\n" + ("you can contact the moderators regarding your ban "
"by replying to this message. **warning**: using other accounts to "
"circumvent a subreddit ban is considered a violation of reddit's "
"[site rules](/rules) and can result in being banned from reddit "
"entirely.")
item, inbox_rel = Message._new(
mod, user, subject, message, request.ip, sr=subreddit, from_sr=True,
can_send_email=False)
queries.new_message(item, inbox_rel, update_modmail=False)
开发者ID:Cophy08,项目名称:reddit,代码行数:30,代码来源:system_messages.py
示例5: perform_actions
def perform_actions(self, item, data):
"""Execute all the rule's actions against the item."""
for key, target in self.targets.iteritems():
target_item = self.get_target_item(item, data, key)
target.perform_actions(target_item, data)
if self.comment:
comment = self.build_message(self.comment, item, data, disclaimer=True)
# TODO: shouldn't have to do all this manually
if isinstance(item, Comment):
link = data["link"]
parent_comment = item
else:
link = item
parent_comment = None
new_comment, inbox_rel = Comment._new(
ACCOUNT, link, parent_comment, comment, None)
new_comment.distinguished = "yes"
new_comment._commit()
queries.queue_vote(ACCOUNT, new_comment, True, None)
queries.new_comment(new_comment, inbox_rel)
g.stats.simple_event("automoderator.comment")
if self.modmail:
message = self.build_message(self.modmail, item, data, permalink=True)
subject = replace_placeholders(
self.modmail_subject, data, self.matches)
subject = subject[:100]
new_message, inbox_rel = Message._new(ACCOUNT, data["subreddit"],
subject, message, None)
new_message.distinguished = "yes"
new_message._commit()
queries.new_message(new_message, inbox_rel)
g.stats.simple_event("automoderator.modmail")
if self.message and not data["author"]._deleted:
message = self.build_message(self.message, item, data,
disclaimer=True, permalink=True)
subject = replace_placeholders(
self.message_subject, data, self.matches)
subject = subject[:100]
new_message, inbox_rel = Message._new(ACCOUNT, data["author"],
subject, message, None)
queries.new_message(new_message, inbox_rel)
g.stats.simple_event("automoderator.message")
PerformedRulesByThing.mark_performed(item, self)
开发者ID:j4gold,项目名称:reddit,代码行数:53,代码来源:automoderator.py
示例6: POST_adduser
def POST_adduser(self, lang, a):
from r2.lib.db import queries
if a and Translator.exists(lang):
tr = get_translator(locale = lang)
tr.author.add(a.name)
tr.save()
# send the user a message
body = Translator_Message(lang, a).render("html")
subject = "Thanks for offering to help translate!"
m, inbox_rel = Message._new(c.user, a, subject, body, request.ip)
queries.new_message(m, inbox_rel)
return self.redirect("/admin/i18n")
开发者ID:constantAmateur,项目名称:sciteit,代码行数:14,代码来源:i18n.py
示例7: notify_user_added
def notify_user_added(rel_type, author, user, target):
msgs = user_added_messages.get(rel_type)
if not msgs:
return
srname = target.path.rstrip("/")
d = {
"url": srname,
"title": "%s: %s" % (srname, target.title),
"author": "/u/" + author.name,
"user": "/u/" + user.name,
}
if "pm" in msgs and author != user:
subject = msgs["pm"]["subject"] % d
msg = msgs["pm"]["msg"] % d
if rel_type in ("moderator_invite", "contributor"):
# send the message from the subreddit
item, inbox_rel = Message._new(
author, user, subject, msg, request.ip, sr=target, from_sr=True,
can_send_email=False, is_auto_modmail=True)
else:
item, inbox_rel = Message._new(
author, user, subject, msg, request.ip, can_send_email=False)
queries.new_message(item, inbox_rel, update_modmail=False)
if "modmail" in msgs:
subject = msgs["modmail"]["subject"] % d
msg = msgs["modmail"]["msg"] % d
if rel_type == "moderator_invite":
# Don't send the separate moderator invite message from the
# system user to new modmail, since the one sent to the invitee
# will already show up in there.
# TODO: when new modmail is fully deployed, the "modmail" dict
# should be completely removed from the moderator_invite section
# of user_added_messages, and this check removed.
if feature.is_enabled('new_modmail', subreddit=target.name):
return
modmail_author = Account.system_user()
else:
modmail_author = author
item, inbox_rel = Message._new(modmail_author, target, subject, msg,
request.ip, sr=target,
is_auto_modmail=True)
queries.new_message(item, inbox_rel)
开发者ID:zeantsoi,项目名称:reddit,代码行数:50,代码来源:system_messages.py
示例8: send_system_message
def send_system_message(user, subject, body):
from r2.lib.db import queries
system_user = Account.system_user()
if not system_user:
g.log.warning("g.system_user isn't set properly. Can't send system message.")
return
item, inbox_rel = Message._new(system_user, user, subject, body,
ip='0.0.0.0')
item.distinguished = 'admin'
item.repliable = False
item._commit()
queries.new_message(item, inbox_rel)
开发者ID:TikiTDO,项目名称:reddit,代码行数:15,代码来源:admintools.py
示例9: notify_user_added
def notify_user_added(rel_type, author, user, target, message=None):
msgs = user_added_messages.get(rel_type)
if not msgs:
return
srname = target.path.rstrip("/")
d = {
"url": srname,
"title": "%s: %s" % (srname, target.title),
"author": "/u/" + author.name,
"user": "/u/" + user.name,
}
if "pm" in msgs and author != user:
subject = msgs["pm"]["subject"] % d
msg = msgs["pm"]["msg"] % d
if rel_type == "banned" and not user.has_interacted_with(target):
return
if rel_type == "banned" and message:
msg += "\n\n" + N_("note from the moderators:\n\n\"%(message)s\"")
msg %= {'message': message}
if rel_type in ("banned", "moderator_invite"):
# send the message from the subreddit
item, inbox_rel = Message._new(author, user, subject, msg, request.ip,
sr=target, from_sr=True)
else:
item, inbox_rel = Message._new(author, user, subject, msg, request.ip)
queries.new_message(item, inbox_rel, update_modmail=False)
if "modmail" in msgs:
subject = msgs["modmail"]["subject"] % d
msg = msgs["modmail"]["msg"] % d
if rel_type == "moderator_invite":
modmail_author = Account.system_user()
else:
modmail_author = author
item, inbox_rel = Message._new(modmail_author, target, subject, msg,
request.ip, sr=target)
queries.new_message(item, inbox_rel, update_modmail=False)
开发者ID:zz198808,项目名称:reddit,代码行数:45,代码来源:system_messages.py
示例10: send_system_message
def send_system_message(user, subject, body, system_user=None, distinguished="admin", repliable=False):
from r2.lib.db import queries
if system_user is None:
system_user = Account.system_user()
if not system_user:
g.log.warning("Can't send system message " "- invalid system_user or g.system_user setting")
return
item, inbox_rel = Message._new(system_user, user, subject, body, ip="0.0.0.0")
item.distinguished = distinguished
item.repliable = repliable
item._commit()
try:
queries.new_message(item, inbox_rel)
except MemcachedError:
raise MessageError("reddit_inbox")
开发者ID:pombredanne,项目名称:reddit,代码行数:18,代码来源:admintools.py
示例11: send_mod_removal_message
def send_mod_removal_message(subreddit, mod, user):
sr_name = "/r/" + subreddit.name
subject = "You've been removed as a moderator from %(subreddit)s"
message = (
"You have been removed as a moderator from %(subreddit)s. "
"If you have a question regarding your removal, you can "
"contact the moderator team for %(subreddit)s by replying to this "
"message."
)
subject %= {"subreddit": sr_name}
message %= {"subreddit": sr_name}
item, inbox_rel = Message._new(
mod, user, subject, message, request.ip,
sr=subreddit,
from_sr=True,
can_send_email=False,
)
queries.new_message(item, inbox_rel, update_modmail=True)
开发者ID:Arinzeokeke,项目名称:reddit,代码行数:19,代码来源:system_messages.py
示例12: notify_user_added
def notify_user_added(rel_type, author, user, target):
msgs = user_added_messages.get(rel_type)
if not msgs:
return
srname = target.path.rstrip("/")
d = {
"url": srname,
"title": "%s: %s" % (srname, target.title),
"author": "/u/" + author.name,
"user": "/u/" + user.name,
}
if "pm" in msgs and author != user:
subject = msgs["pm"]["subject"] % d
msg = msgs["pm"]["msg"] % d
if rel_type in ("moderator_invite", "contributor"):
# send the message from the subreddit
item, inbox_rel = Message._new(
author, user, subject, msg, request.ip, sr=target, from_sr=True,
can_send_email=False)
else:
item, inbox_rel = Message._new(
author, user, subject, msg, request.ip, can_send_email=False)
queries.new_message(item, inbox_rel, update_modmail=False)
if "modmail" in msgs:
subject = msgs["modmail"]["subject"] % d
msg = msgs["modmail"]["msg"] % d
if rel_type == "moderator_invite":
modmail_author = Account.system_user()
else:
modmail_author = author
item, inbox_rel = Message._new(modmail_author, target, subject, msg,
request.ip, sr=target)
queries.new_message(item, inbox_rel)
开发者ID:Cophy08,项目名称:reddit,代码行数:40,代码来源:system_messages.py
示例13: send_ban_message
def send_ban_message(subreddit, mod, user, note=None, days=None, new=True):
sr_name = "/r/" + subreddit.name
if days:
subject = "You've been temporarily banned from participating in %(subreddit)s"
message = ("You have been temporarily banned from participating in "
"%(subreddit)s. This ban will last for %(duration)s days. ")
else:
subject = "You've been banned from participating in %(subreddit)s"
message = "You have been banned from participating in %(subreddit)s. "
message += ("You can still view and subscribe to %(subreddit)s, but you "
"won't be able to post or comment.")
if not new:
subject = "Your ban from %(subreddit)s has changed"
subject %= {"subreddit": sr_name}
message %= {"subreddit": sr_name, "duration": days}
if note:
message += "\n\n" + 'Note from the moderators:'
message += "\n\n" + blockquote_text(note)
message += "\n\n" + ("If you have a question regarding your ban, you can "
"contact the moderator team for %(subreddit)s by replying to this "
"message.") % {"subreddit": sr_name}
message += "\n\n" + ("**Reminder from the Reddit staff**: If you use "
"another account to circumvent this subreddit ban, that will be "
"considered a violation of [the Content Policy](/help/contentpolicy#section_prohibited_behavior) "
"and can result in your account being [suspended](https://reddit.zendesk.com/hc/en-us/articles/205687686) "
"from the site as a whole.")
item, inbox_rel = Message._new(
mod, user, subject, message, request.ip, sr=subreddit, from_sr=True,
can_send_email=False, is_auto_modmail=True)
queries.new_message(item, inbox_rel, update_modmail=False)
开发者ID:zeantsoi,项目名称:reddit,代码行数:37,代码来源:system_messages.py
示例14: POST_zendeskreply
def POST_zendeskreply(self):
request_body = request.POST
recipient = request_body["recipient"]
sender_email = request_body["sender"]
from_ = request_body["from"]
subject = request_body["subject"]
body_plain = request_body["body-plain"]
stripped_text = request_body["stripped-text"]
stripped_signature = request_body["stripped-signature"]
timestamp = request_body["timestamp"]
token = request_body["token"]
signature = request_body["signature"]
email_id = request_body["Message-Id"]
if not validate_mailgun_webhook(timestamp, token, signature):
# per Mailgun docs send a 406 so the message won't be retried
abort(406, "invalid signature")
message_id36 = parse_and_validate_reply_to_address(recipient)
if not message_id36:
# per Mailgun docs send a 406 so the message won't be retried
abort(406, "invalid message")
parent = Message._byID36(message_id36, data=True)
to = Account._byID(parent.author_id, data=True)
sr = Subreddit._byID(parent.sr_id, data=True)
body = self.get_snipped_body(stripped_text, stripped_signature)
try:
markdown_souptest(body)
except SoupError:
g.log.warning("bad markdown in modmail email: %s", body)
abort(406, "invalid body")
if parent.get_muted_user_in_conversation():
queue_blocked_muted_email(sr, parent, sender_email, email_id)
return
# keep the subject consistent
message_subject = parent.subject
if not message_subject.startswith("re: "):
message_subject = "re: " + message_subject
# from_ is like '"NAME (GROUP)" <[email protected]>'
match = re.search("\"(?P<name>\w+) [\w ()]*\"", from_)
from_sr = True
author = Account.system_user()
if match and match.group("name") in g.live_config['modmail_account_map']:
zendesk_name = match.group("name")
moderator_name = g.live_config['modmail_account_map'][zendesk_name]
moderator = Account._by_name(moderator_name)
if sr.is_moderator_with_perms(moderator, "mail"):
author = moderator
from_sr = False
message, inbox_rel = Message._new(
author=author,
to=to,
subject=message_subject,
body=body,
ip='0.0.0.0',
parent=parent,
sr=sr,
from_sr=from_sr,
can_send_email=False,
sent_via_email=True,
email_id=email_id,
)
message._commit()
queries.new_message(message, inbox_rel)
g.stats.simple_event("mailgun.incoming.success")
g.stats.simple_event("modmail_email.incoming_email")
开发者ID:zeantsoi,项目名称:reddit,代码行数:74,代码来源:mailgun.py
示例15: send_notification_message
def send_notification_message(user, target, subject, message, ip):
m, inbox_rel = Message._new(user, target, subject, message, ip, in_box='notifications')
amqp.add_item('new_notification', m._fullname)
queries.new_message(m, inbox_rel)
开发者ID:new-day-international,项目名称:reddit,代码行数:4,代码来源:system_messages.py
注:本文中的r2.lib.db.queries.new_message函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论