[manual] send_message: Rename recipient/stream fields to 'to'.

This commit changes APIs and requires and update of all zephyr
mirroring bots to deploy properly.

(imported from commit 2672d2d07269379f7a865644aaeb6796d54183e1)
This commit is contained in:
Tim Abbott 2012-11-14 17:21:46 -05:00
parent 6f10d27f3b
commit 411a7f6b4f
11 changed files with 28 additions and 29 deletions

View File

@ -59,14 +59,14 @@ if child_pid == 0:
humbug_client.send_message({
"type": "private",
"content": str(hzkey1),
"recipient": humbug_user,
"to": humbug_user,
});
time.sleep(0.2)
humbug_client.send_message({
"type": "stream",
"subject": "test",
"content": str(hzkey2),
"stream": "tabbott-nagios-test",
"to": "tabbott-nagios-test",
});
if options.verbose:
print "Sent Humbug messages!"

View File

@ -19,7 +19,7 @@ def forward_message(message):
return
forwarded_message = {
"type": "stream",
"stream": "support",
"to": "support",
"subject": "feedback from %s" % message["sender_email"],
"content": message["content"],
}

View File

@ -139,7 +139,7 @@ def send_reminders():
humbug.send_message(dict(
type = 'private',
recipient = options.user,
to = options.user,
content = message))
sent |= keys

View File

@ -41,7 +41,7 @@ def trac_subject(ticket):
def send_update(ticket, content):
client.send_message({
"type": "stream",
"stream": "trac",
"to": "trac",
"content": content,
"subject": trac_subject(ticket)
})

View File

@ -89,15 +89,15 @@ def send_humbug(zeph):
if zeph['type'] == 'stream':
# Forward messages sent to -c foo -i bar to stream bar subject "instance"
if zeph["stream"] == "message":
message['stream'] = zeph['subject'].lower()
message['to'] = zeph['subject'].lower()
message['subject'] = "instance %s" % (zeph['subject'],)
elif zeph["stream"] == "tabbott-test5":
message['stream'] = zeph['subject'].lower()
message['to'] = zeph['subject'].lower()
message['subject'] = "test instance %s" % (zeph['subject'],)
else:
message["stream"] = zeph["stream"]
message["to"] = zeph["stream"]
else:
message["recipient"] = zeph["recipient"]
message["to"] = zeph["recipient"]
message['content'] = unwrap_lines(zeph['content'])
if options.test_mode and options.site == DEFAULT_SITE:
@ -109,7 +109,7 @@ def send_humbug(zeph):
def send_error_humbug(error_msg):
humbug = {"type": "private",
"sender": options.user + "@mit.edu",
"recipient": options.user + "@mit.edu",
"to": options.user + "@mit.edu",
"content": error_msg,
}
humbug_client.send_message(humbug)

View File

@ -5,7 +5,7 @@ curl https://humbughq.com/api/v1/send_message \
-d "api-key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d "email=tabbott@humbughq.com" \
-d "type=private" -d "content=test" \
-d "recipient=tabbott@humbughq.com"
-d "to=tabbott@humbughq.com"
curl https://humbughq.com/api/v1/get_messages \
-d "api-key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \

View File

@ -40,6 +40,6 @@ client = api.common.HumbugAPI(email=options.sender,
message_data = {
"type": "private",
"content": "test",
"recipient": args[0]
"to": args[0],
}
print client.send_message(message_data)

View File

@ -80,10 +80,9 @@ def send_bot_message(oldrev, newrev, refname):
message_data = {
"type": "stream",
"stream": "test" if refname == "refs/heads/test-post-receive" else "devel",
"to": "test" if refname == "refs/heads/test-post-receive" else "devel",
"subject": u"deploy \u21D2 " + branch,
"content": message,
"recipient": "tabbott@humbughq.com",
}
# Sleep a bit to give time for the server to restart.
# TODO: Make this work without the sleep

View File

@ -52,10 +52,13 @@ function send_message() {
var request = {client: 'website',
type: compose.composing(),
stream: compose.stream_name(),
subject: compose.subject(),
recipient: JSON.stringify(recipients),
content: compose.message_content()};
if (request.type === "private") {
request.to = JSON.stringify(recipients);
} else {
request.to = compose.stream_name();
}
$.ajax({
dataType: 'json', // This seems to be ignored. We still get back an xhr.

View File

@ -350,7 +350,7 @@ class MessagePOSTTest(AuthedTestCase):
"""
self.login("hamlet@humbughq.com")
result = self.client.post("/json/send_message", {"type": "stream",
"stream": "Verona",
"to": "Verona",
"client": "test suite",
"content": "Test message",
"subject": "Test subject"})
@ -363,7 +363,7 @@ class MessagePOSTTest(AuthedTestCase):
email = "hamlet@humbughq.com"
api_key = self.get_api_key(email)
result = self.client.post("/api/v1/send_message", {"type": "stream",
"stream": "Verona",
"to": "Verona",
"client": "test suite",
"content": "Test message",
"subject": "Test subject",
@ -378,7 +378,7 @@ class MessagePOSTTest(AuthedTestCase):
self.login("hamlet@humbughq.com")
self.assertFalse(Stream.objects.filter(name="nonexistent_stream"))
result = self.client.post("/json/send_message", {"type": "stream",
"stream": "nonexistent_stream",
"to": "nonexistent_stream",
"client": "test suite",
"content": "Test message",
"subject": "Test subject"})
@ -392,7 +392,7 @@ class MessagePOSTTest(AuthedTestCase):
result = self.client.post("/json/send_message", {"type": "private",
"content": "Test message",
"client": "test suite",
"recipient": "othello@humbughq.com"})
"to": "othello@humbughq.com"})
self.assert_json_success(result)
def test_personal_message_to_nonexistent_user(self):
@ -403,7 +403,7 @@ class MessagePOSTTest(AuthedTestCase):
result = self.client.post("/json/send_message", {"type": "private",
"content": "Test message",
"client": "test suite",
"recipient": "nonexistent"})
"to": "nonexistent"})
self.assert_json_error(result, "Invalid email 'nonexistent'")
def test_invalid_type(self):
@ -414,7 +414,7 @@ class MessagePOSTTest(AuthedTestCase):
result = self.client.post("/json/send_message", {"type": "invalid type",
"content": "Test message",
"client": "test suite",
"recipient": "othello@humbughq.com"})
"to": "othello@humbughq.com"})
self.assert_json_error(result, "Invalid message type")
class DummyHandler(object):

View File

@ -465,7 +465,7 @@ def same_realm_email(user_profile, email):
return False
def extract_recipients(request):
raw_recipient = request.POST.get("recipient")
raw_recipient = request.POST.get("to")
try:
recipients = simplejson.loads(raw_recipient)
except simplejson.decoder.JSONDecodeError:
@ -484,7 +484,7 @@ def create_mirrored_message_users(request, user_profile):
pm_recipients = []
if request.POST['type'] == 'private':
if "recipient" not in request.POST:
if "to" not in request.POST:
return (False, None)
pm_recipients = extract_recipients(request)
@ -509,6 +509,7 @@ def create_mirrored_message_users(request, user_profile):
@has_request_variables
def send_message_backend(request, user_profile, client_name,
message_type_name = POST('type'),
message_to = POST('to'),
message_content = POST('content')):
forged = "forged" in request.POST
is_super_user = is_super_user_api(request)
@ -540,11 +541,9 @@ def send_message_backend(request, user_profile, client_name,
sender = user_profile
if message_type_name == 'stream':
if "stream" not in request.POST:
return json_error("Missing stream")
if "subject" not in request.POST:
return json_error("Missing subject")
stream_name = request.POST['stream'].strip()
stream_name = message_to.strip()
subject_name = request.POST['subject'].strip()
if stream_name == "":
return json_error("Stream can't be empty")
@ -567,8 +566,6 @@ def send_message_backend(request, user_profile, client_name,
return json_error("Stream does not exist")
recipient = Recipient.objects.get(type_id=stream.id, type=Recipient.STREAM)
elif message_type_name == 'private':
if "recipient" not in request.POST:
return json_error("Missing recipients")
pm_recipients = extract_recipients(request)
if client_name == "zephyr_mirror":
if user_profile.user.email not in pm_recipients and not forged: