def source_suggest(): user_mc = user_admin_mediacloud_client() url = request.form['url'] feed_url = request.form['feedurl'] if 'feedurl' in request.form else None name = request.form['name'] if 'name' in request.form else None reason = request.form['reason'] if 'reason' in request.form else None tag_ids_to_add = tag_ids_from_collections_param() new_suggestion = user_mc.mediaSuggest(url=url, name=name, feed_url=feed_url, reason=reason, collections=tag_ids_to_add) # send an email confirmation email_title = "Thanks for Suggesting " + url send_html_email( email_title, [user_name(), '*****@*****.**'], render_template("emails/source_suggestion_ack.txt", username=user_name(), name=name, url=url, feed_url=feed_url, reason=reason), render_template("emails/source_suggestion_ack.html", username=user_name(), name=name, url=url, feed_url=feed_url, reason=reason)) # and return that it worked return jsonify(new_suggestion)
def _email_batch_source_update_results(audit_feedback): email_title = "Source Batch Updates" content_title = "You just uploaded {} sources to a collection.".format( len(audit_feedback)) updated_sources = [] for updated in audit_feedback: updated_sources.append(updated) content_body = updated_sources action_text = "Login to Media Cloud" action_url = "https://sources.mediacloud.org/#/login" # send an email confirmation send_html_email( email_title, [user_name(), '*****@*****.**'], render_template("emails/source_batch_upload_ack.txt", content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url), render_template("emails/source_batch_upload_ack.html", email_title=email_title, content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url))
def source_suggestion_update(suggestion_id): user_mc = user_admin_mediacloud_client() suggestion = _media_suggestion(user_mc, suggestion_id) if suggestion is None: return json_error_response("Unknown suggestion id {}".format(suggestion_id)) status = request.form['status'] reason = request.form['reason'] results = None email_note = "" if status == "approved": # if approved, we have to create it flattend_tags = [t['tags_id'] for t in suggestion['tags_ids']] media_source_to_create = { 'url': suggestion['url'], 'name': suggestion['name'], 'feeds': [suggestion['feed_url']], 'tags_ids': flattend_tags, 'editor_notes': 'Suggested approved by {} on because {}. Suggested by {} on {} because {}' '(id #{}).'.format(user_name(), datetime.now().strftime("%I:%M%p on %B %d, %Y"), reason, suggestion['email'], suggestion['date_submitted'], suggestion['reason'], suggestion['media_suggestions_id'] ) } creation_results = user_mc.mediaCreate([media_source_to_create])[0] if creation_results['status'] == 'error': status = "pending" # so the email update looks good. email_note = creation_results['error']+". " else: email_note = "This source is "+str(creation_results['status'])+". " results = user_mc.mediaSuggestionsMark(suggestion_id, status, reason, creation_results['media_id']) else: # if rejected just mark it as such results = user_mc.mediaSuggestionsMark(suggestion_id, status, reason) # send an email to the person that suggested it url = suggestion['url'] email_title = "Source Suggestion {}: {}".format(status, url) content_title = "We {} {}".format(status, url) content_body = "Thanks for the suggestion. {}{}".format(email_note, reason) action_text = "Login to Media Cloud" action_url = "https://sources.mediacloud.org/#/login" # send an email confirmation send_html_email(email_title, [user_name(), '*****@*****.**'], render_template("emails/generic.txt", content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url), render_template("emails/generic.html", email_title=email_title, content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url) ) # and return that it worked or not if status == "pending": return json_error_response(email_note) return jsonify(results)
def source_suggestion_update(suggestion_id): user_mc = user_admin_mediacloud_client() suggestion = _media_suggestion(user_mc, suggestion_id) if suggestion is None: return json_error_response("Unknown suggestion id {}".format(suggestion_id)) status = request.form['status'] reason = request.form['reason'] results = None email_note = "" if status == "approved": # if approved, we have to create it flattend_tags = [t['tags_id'] for t in suggestion['tags_ids']] media_source_to_create = { 'url': suggestion['url'], 'name': suggestion['name'], 'feeds': [suggestion['feed_url']], 'tags_ids': flattend_tags, 'editor_notes': 'Suggested approved by {} on because {}. Suggested by {} on {} because {} (id #{}).'.format( user_name(), datetime.now().strftime("%I:%M%p on %B %d, %Y"), reason, suggestion['email'], suggestion['date_submitted'], suggestion['reason'], suggestion['media_suggestions_id'] ) } creation_results = user_mc.mediaCreate([media_source_to_create])[0] if creation_results['status'] == 'error': status = "pending" # so the email update looks good. email_note = creation_results['error']+". " else: email_note = "This source is "+str(creation_results['status'])+". " results = user_mc.mediaSuggestionsMark(suggestion_id, status, reason, creation_results['media_id']) else: # if rejected just mark it as such results = user_mc.mediaSuggestionsMark(suggestion_id, status, reason) # send an email to the person that suggested it url = suggestion['url'] email_title = "Source Suggestion {}: {}".format(status, url) content_title = "We {} {}".format(status, url) content_body = "Thanks for the suggestion. {}{}".format(email_note, reason) action_text = "Login to Media Cloud" action_url = "https://sources.mediacloud.org/#/login" # send an email confirmation send_html_email(email_title, [user_name(), '*****@*****.**'], render_template("emails/generic.txt", content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url), render_template("emails/generic.html", email_title=email_title, content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url) ) # and return that it worked or not if status == "pending": return json_error_response(email_note) return jsonify(results)
def source_suggest(): user_mc = user_admin_mediacloud_client() url = request.form['url'] feed_url = request.form['feedurl'] if 'feedurl' in request.form else None name = request.form['name'] if 'name' in request.form else None reason = request.form['reason'] if 'reason' in request.form else None tag_ids_to_add = tag_ids_from_collections_param() new_suggestion = user_mc.mediaSuggest(url=url, name=name, feed_url=feed_url, reason=reason, tags_ids=tag_ids_to_add) # send an email confirmation email_title = "Thanks for Suggesting " + url send_html_email(email_title, [user_name(), '*****@*****.**'], render_template("emails/source_suggestion_ack.txt", username=user_name(), name=name, url=url, feed_url=feed_url, reason=reason), render_template("emails/source_suggestion_ack.html", username=user_name(), name=name, url=url, feed_url=feed_url, reason=reason) ) # and return that it worked return jsonify(new_suggestion)
def _email_batch_source_update_results(audit_feedback): email_title = "Source Batch Updates" content_title = "You just uploaded {} sources to a collection.".format(len(audit_feedback)) updated_sources = [] for updated in audit_feedback: updated_sources.append(updated) content_body = updated_sources action_text = "Login to Media Cloud" action_url = "https://sources.mediacloud.org/#/login" # send an email confirmation send_html_email(email_title, [user_name(), '*****@*****.**'], render_template("emails/source_batch_upload_ack.txt", content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url), render_template("emails/source_batch_upload_ack.html", email_title=email_title, content_title=content_title, content_body=content_body, action_text=action_text, action_url=action_url) )