def post_create_league():
    name = request.form.get('league-name')
    num_tracks = request.form.get('tracks-submitted')
    upvote_size = request.form.get('point-bank-size')
    limit_upvotes = request.form.get('limit-upvotes')
    max_up_per_song = request.form.get('max-points-per-song')
    allow_downvotes = request.form.get('allow-downvotes')
    downvote_size = request.form.get('downvote-bank-size')
    limit_downvotes = request.form.get('limit-downvotes')
    max_down_per_song = request.form.get('max-downvotes-per-song')

    user_ids = json.loads(request.form.get('added-members', []))
    members = [get_user(uid) for uid in user_ids]

    emails = json.loads(request.form.get('invited-members', []))

    rounds = json.loads(request.form.get('added-rounds', []))

    league = create_league(g.user, name=name, users=members)
    league.preferences.track_count = int(num_tracks)
    league.preferences.point_bank_size = int(upvote_size)

    league.preferences.max_points_per_song = 0
    if limit_upvotes == 'yes':
        league.preferences.max_points_per_song = int(max_up_per_song or 0)

    league.preferences.downvote_bank_size = 0
    league.preferences.max_downvotes_per_song = 0
    if allow_downvotes == 'yes':
        league.preferences.downvote_bank_size = int(downvote_size or 0)
        if limit_downvotes == 'yes':
            league.preferences.max_downvotes_per_song = int(max_down_per_song
                                                            or 0)
    upsert_league_preferences(league)

    for email in emails:
        add_user(league, email, notify=True)

    for new_round in rounds:
        submission_due_date_str = new_round['submission-due-date-utc']
        submission_due_date = utc.localize(
            datetime.strptime(submission_due_date_str, '%m/%d/%y %I%p'))

        vote_due_date_str = new_round['voting-due-date-utc']
        vote_due_date = utc.localize(
            datetime.strptime(vote_due_date_str, '%m/%d/%y %I%p'))

        create_submission_period(league, new_round['name'],
                                 new_round['description'], submission_due_date,
                                 vote_due_date)

    track_user_created_league(g.user.id, league)
    app.logger.info('User created league',
                    extra={
                        'league': league.id,
                        'user': g.user.id
                    })

    return redirect(url_for('view_league', league_id=league.id))
    def setUp(self):
        self.user = create_user('id', 'Test User', '*****@*****.**', '')
        self.league = create_league(self.user)
        self.submission_period = create_submission_period(
            self.league, 'Test League', 'Description')

        self.votes = {'spotify:track:6Fha6tXHkL3r9m9nNqQG8p': 1,
                      'spotify:track:6K4t31amVTZDgR3sKmwUJJ': 0}
Beispiel #3
0
    def setUp(self):
        self.owner = create_user('owner_id', 'Test Owner', '*****@*****.**', '')
        self.league = create_league(self.owner)
        self.submission_period = create_submission_period(
            self.league, 'Test League', 'Description')

        self.user = create_user('id', 'Test User', '*****@*****.**', '')
        self.vote = create_vote({}, self.submission_period, self.user,
                                self.league)
Beispiel #4
0
    def setUp(self):
        self.user = create_user('id', 'Test User', '*****@*****.**', '')
        self.league = create_league(self.user)
        self.submission_period = create_submission_period(
            self.league, 'Test League', 'Description')

        self.playlist_id = '6UeSakyzhiEt4NB3UAd6NQ'
        self.playlist_url = 'https://open.spotify.com/user/billboard.com/playlist/6UeSakyzhiEt4NB3UAd6NQ'  # noqa
        self.playlist = {
            'id': self.playlist_id,
            'external_urls': {
                'spotify': self.playlist_url
            }
        }

        self.submission_period.playlist_id = self.playlist_id
        self.submission_period.playlist_url = self.playlist_url
        self.submission_period.save()

        self.bot_id = 'bot_id'
        self.mock_botify = Mock(spec=Spotify)
        self.mock_botify.user_playlist.return_value = self.playlist
        self.mock_botify.user_playlist_create.return_value = self.playlist
    def setUp(self):
        self.owner = create_user('0123', 'Test Owner', '*****@*****.**', '')
        self.owner.messenger = MessengerContext(id="4321", user=self.owner)
        self.owner.save()

        self.league = create_league(self.owner)
        self.submission_period = create_submission_period(self.league)

        self.user = create_user('1234', 'Test User', '*****@*****.**', '')
        self.user.messenger = MessengerContext(id="3210", user=self.user)
        self.user.save()

        self.league.users.append(self.user)
        self.league.save()

        self.tracks = ['spotify:track:4AqWZBWggL2op869E4EdR7']
        self.submission = create_submission(self.tracks,
                                            self.submission_period, self.user,
                                            self.league)

        self.votes = {uri: 1 for uri in self.tracks}
        self.vote = create_vote(self.votes, self.submission_period, self.user,
                                self.league)
Beispiel #6
0
 def setUp(self):
     self.user = create_user('123', 'Test User', '*****@*****.**', '')
     self.league = create_league(self.user)
Beispiel #7
0
    def setUp(self):
        self.user = create_user('123', 'Test User', '*****@*****.**', '')
        self.league = create_league(self.user)

        create_submission_period(self.league)
Beispiel #8
0
 def setUp(self):
     self.invited_user = InvitedUser(email='*****@*****.**')
     self.invited_user.save()
     self.user = create_user('id', 'Test User', '*****@*****.**', '')
     self.league = create_league(self.user)
Beispiel #9
0
 def setUp(self):
     self.user = create_user('id', 'Test User', '*****@*****.**', '')
     self.league = create_league(self.user)
Beispiel #10
0
 def setUp(self):
     self.user = create_user('id', 'Test User', '*****@*****.**', '')
     self.league = create_league(self.user)
     self.submission_period = create_submission_period(
         self.league, 'Test League', 'Description')
 def setUp(self):
     self.user = create_user("1", "Test User", "*****@*****.**", "")
     self.league = create_league(self.user)