def post(self):
        self._require_registration()

        event_key = self.request.get("event_key")

        status, suggestion = SuggestionCreator.createEventMediaSuggestion(
            author_account_key=self.user_bundle.account.key,
            media_url=self.request.get("media_url"),
            event_key=event_key)

        if status == 'success':
            # Send an update to the FUN slack
            slack_sitevar = Sitevar.get_or_insert('slack.hookurls')
            if slack_sitevar:
                slack_url = slack_sitevar.contents.get('fun', '')
                if slack_url:
                    message_body = "{0} ({1}) has suggested a video for <https://thebluealliance.com/event/{2}|{2}>: https://youtu.be/{3}.\nSee all suggestions at https://www.thebluealliance.com/suggest/event/media/review".format(
                        self.user_bundle.account.display_name,
                        self.user_bundle.account.email, event_key,
                        suggestion.contents['foreign_key'])

                    OutgoingNotificationHelper.send_slack_alert(
                        slack_url, message_body, [])

        self.redirect('/suggest/event/media?event_key=%s&status=%s' %
                      (event_key, status))
    def post(self):
        self._require_registration()

        event_key = self.request.get("event_key")

        status, suggestion = SuggestionCreator.createEventMediaSuggestion(
            author_account_key=self.user_bundle.account.key,
            media_url=self.request.get("media_url"),
            event_key=event_key)

        if status == 'success':
            # Send an update to the FUN slack
            slack_sitevar = Sitevar.get_or_insert('slack.hookurls')
            if slack_sitevar:
                slack_url = slack_sitevar.contents.get('fun', '')
                if slack_url:
                    message_body = u"{0} ({1}) has suggested a video for <https://www.thebluealliance.com/event/{2}|{2}>: https://youtu.be/{3}.\nSee all suggestions at https://www.thebluealliance.com/suggest/event/media/review".format(
                        self.user_bundle.account.display_name,
                        self.user_bundle.account.email,
                        event_key,
                        suggestion.contents['foreign_key']).encode('utf-8')

                    OutgoingNotificationHelper.send_slack_alert(slack_url, message_body, [])

        self.redirect('/suggest/event/media?event_key=%s&status=%s' % (event_key, status))
Beispiel #3
0
 def testMediaExists(self):
     media_id = Media.render_key_name(MediaType.YOUTUBE_VIDEO,
                                      'H-54KMwMKY0')
     Media.get_or_insert(media_id,
                         media_type_enum=MediaType.YOUTUBE_VIDEO,
                         foreign_key='H-54KMwMKY0',
                         references=[ndb.Key(Event, '2016nyny')]).put()
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0",
         "2016nyny")
     self.assertEqual(status, 'media_exists')
 def test_media_exists(self):
     media_id = Media.render_key_name(MediaType.YOUTUBE_VIDEO, 'H-54KMwMKY0')
     Media.get_or_insert(
         media_id,
         media_type_enum=MediaType.YOUTUBE_VIDEO,
         foreign_key='H-54KMwMKY0',
         references=[ndb.Key(Event, '2016nyny')]).put()
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key,
         "https://www.youtube.com/watch?v=H-54KMwMKY0",
         "2016nyny")
     self.assertEqual(status, 'media_exists')
Beispiel #5
0
    def testDuplicateSuggestion(self):
        suggestion_id = Suggestion.render_media_key_name(
            '2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0')
        Suggestion(id=suggestion_id,
                   author=self.account.key,
                   review_state=Suggestion.REVIEW_PENDING,
                   target_key="2016nyny",
                   target_model="event_media").put()

        status, _ = SuggestionCreator.createEventMediaSuggestion(
            self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0",
            "2016nyny")
        self.assertEqual(status, 'suggestion_exists')
    def test_duplicate_suggestion(self):
        suggestion_id = Suggestion.render_media_key_name('2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0')
        Suggestion(
            id=suggestion_id,
            author=self.account.key,
            review_state=Suggestion.REVIEW_PENDING,
            target_key="2016nyny",
            target_model="event_media").put()

        status, _ = SuggestionCreator.createEventMediaSuggestion(
            self.account.key,
            "https://www.youtube.com/watch?v=H-54KMwMKY0",
            "2016nyny")
        self.assertEqual(status, 'suggestion_exists')
    def test_create_suggestion_banned(self):
        status, _ = SuggestionCreator.createEventMediaSuggestion(
            self.account_banned.key,
            "https://www.youtube.com/watch?v=H-54KMwMKY0",
            "2016nyny")
        self.assertEqual(status, 'success')

        # Ensure the Suggestion gets created
        suggestion_id = Suggestion.render_media_key_name('2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0')
        suggestion = Suggestion.get_by_id(suggestion_id)
        expected_dict = MediaParser.partial_media_dict_from_url("https://www.youtube.com/watch?v=H-54KMwMKY0")
        self.assertIsNotNone(suggestion)
        self.assertEqual(suggestion.review_state, Suggestion.REVIEW_AUTOREJECTED)
        self.assertEqual(suggestion.author, self.account_banned.key)
        self.assertEqual(suggestion.target_model, 'event_media')
        self.assertDictContainsSubset(expected_dict, suggestion.contents)
Beispiel #8
0
    def testCreateSuggestion(self):
        status, _ = SuggestionCreator.createEventMediaSuggestion(
            self.account.key, "https://www.youtube.com/watch?v=H-54KMwMKY0",
            "2016nyny")
        self.assertEqual(status, 'success')

        # Ensure the Suggestion gets created
        suggestion_id = Suggestion.render_media_key_name(
            '2016', 'event', '2016nyny', 'youtube', 'H-54KMwMKY0')
        suggestion = Suggestion.get_by_id(suggestion_id)
        expected_dict = MediaParser.partial_media_dict_from_url(
            "https://www.youtube.com/watch?v=H-54KMwMKY0")
        self.assertIsNotNone(suggestion)
        self.assertEqual(suggestion.review_state, Suggestion.REVIEW_PENDING)
        self.assertEqual(suggestion.author, self.account.key)
        self.assertEqual(suggestion.target_model, 'event_media')
        self.assertDictContainsSubset(expected_dict, suggestion.contents)
 def createSuggestion(self):
     status = SuggestionCreator.createEventMediaSuggestion(self.account.key,
                                                           'https://www.youtube.com/watch?v=foobar',
                                                           '2016nyny')
     self.assertEqual(status[0], 'success')
     return Suggestion.query().fetch(keys_only=True)[0].id()
Beispiel #10
0
 def testCreateBadUrl(self):
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key, "http://foobar.com/ruRAxDm", "2016nyny")
     self.assertEqual(status, 'bad_url')
 def test_create_non_video_suggestion(self):
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key, "http://imgur.com/ruRAxDm", "2016nyny")
     self.assertEqual(status, 'bad_url')
 def test_create_bad_url(self):
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key,
         "http://foobar.com/ruRAxDm",
         "2016nyny")
     self.assertEqual(status, 'bad_url')
 def createSuggestion(self):
     status = SuggestionCreator.createEventMediaSuggestion(
         self.account.key, 'https://www.youtube.com/watch?v=foobar',
         '2016nyny')
     self.assertEqual(status[0], 'success')
     return Suggestion.query().fetch(keys_only=True)[0].id()
 def testCreateNonVideoSuggestion(self):
     status, _ = SuggestionCreator.createEventMediaSuggestion(
         self.account.key,
         "http://imgur.com/ruRAxDm",
         "2016nyny")
     self.assertEqual(status, 'bad_url')