예제 #1
0
def login_player(request):
    t = str(time.time())
    player_name = request.POST["player_name"]
    request.session["player_name"] = player_name
    request.session["mode"] = request.POST["mode"]
    request.session["room_id"] = None
    if request.POST["mode"] == "solo":
        player = Player(name=player_name, created_at=t)
        player.save()
        request.session["player_id"] = list(
            Player.objects.all().filter(created_at=t).values("id"))[0]["id"]
    elif request.POST["mode"] == "multi":
        room_name = request.POST["room_name"]
        room_id = list(
            Room.objects.all().filter(name=room_name).values())[0]["id"]
        room_num = list(
            Room.objects.all().filter(name=room_name).values())[0]["num"]
        player_num = len(
            list(Player.objects.all().filter(room_id=room_id).values()))
        if player_num >= room_num:
            return HttpResponse("false")
        request.session["room_id"] = room_id
        player = Player(name=player_name, created_at=t)
        player.save()
        request.session["player_id"] = list(
            Player.objects.all().filter(created_at=t).values("id"))[0]["id"]
        obj = Player.objects.get(id=request.session["player_id"])
        obj.room_id = room_id
        obj.save()
    # return HttpResponseRedirect("/mode/solo")
    return HttpResponse("true")
예제 #2
0
def createPlayerShotokan(request, tournament_id):
    template = loader.get_template('shotokanCreatePlayer.html')

    if request.method == 'POST':
        form = ShotokanPlayerCreateForm(request.POST)

        if form.is_valid():
            player = Player(
                name=form.cleaned_data.get('name'),
                surname=form.cleaned_data.get('surname'),
                team_id=Team.objects.get(name=form.cleaned_data.get('teams')),
                acceptedbycoachteam=True,
                acceptedbyplayer=True)
            player.save()

            player_tournament = PlayerTournament(
                player_id=player,
                tournament_id=Tournament.objects.get(pk=tournament_id),
                acceptedbymanager=True,
                acceptedbycoach=True)
            player_tournament.save()

            return redirect('/shotokanPlayers/%s/' % tournament_id)
    else:
        form = ShotokanPlayerCreateForm()

    context = RequestContext(request, {
        'form': form,
    })
    return HttpResponse(template.render(context))
예제 #3
0
def get_player_info():
	"""Acquires basic info of all current NBA players and stores in DB."""

	player_ids = [p.player_id for p in PlayerID.objects.all()]
	params_ = {'LeagueID' : LEAGUE_ID, 'SeasonType' : SEASON_TYPE}
	Player.objects.all().delete()
	count = 1
	for play_id in player_ids:
		try:
			params_['PlayerID'] = play_id
			request = get(URL, params=params_).json()
			info_list = request['resultSets'][0]['rowSet'][0]

			info = Player()
			info.name = info_list[3]
			info.number = info_list[13]
			info.image = URL_IMAGE % play_id
			info.year_enter_league = info_list[22]
			info.position = info_list[14]
			info.height = info_list[10]
			info.weight = info_list[11]
			info.current_team = '%s %s' % (info_list[20], info_list[17])
			info.player_id = play_id
			info.save()
			print count, info.name
			count += 1
		except Exception, e:
			LOGGER.log(ERROR, 'Player Info Error')
			LOGGER.log(ERROR, 'ID: %d' % play_id)
			LOGGER.log(ERROR, 'Error: %s' % e)
    def save_players(self, players):
        print('Saving players found')
        # Initially, we need to map the team for any player
        for player in players:
            player['team'] = self.get_club_id_from_name(player['team'])

        Player.objects.bulk_create(
            [Player(**player) for player in players if player['team']])
예제 #5
0
def add_player():
    player = Player(
        name=flask.request.form['name'],
        # is_alive=flask.request.form['is_alive'],
        is_alive=True,
        role=flask.request.form['role'],
    )
    db.session.add(player)
    db.session.commit()
    return flask.redirect(flask.url_for('show_players'))
예제 #6
0
def add_player():
    player = Player(
        name=flask.request.form['user_name'],
        is_alive=True,
        role="村人",
        user_password=flask.request.form['user_password'],
        group_id=flask.request.form['group_id'],
        group_password=flask.request.form['group_password'],
    )
    db.session.add(player)
    db.session.commit()
    return flask.redirect(flask.url_for('top_view'))
def populate_players_model():
    # Loop through the top level dictionary
    for team, value in premier_league_players_dictionary.items():

        # Loop through the players in each team
        for player_name, val in value['squad_players'].items():

            # Create a new player instance for each player
            player_entry = Player(club=Club.objects.get(club=team),
                                  player=player_name,
                                  club_name=team,
                                  position=val['position'],
                                  nationality=val['nationality'])
            player_entry.save()
예제 #8
0
 def create_player(self, **kwargs):
     kwargs = merge_args(
         {
             'bid': randint(0, 1e9),
             'region': Region.EU,
             'realm': 1,
             'mode': Mode.TEAM_1V1,
             'season': self.season,
             'race': Race.ZERG,
             'name': uniqueid(12),
             'clan': uniqueid(32),
             'tag': uniqueid(6)
         }, **kwargs)
     self.player = Player(**kwargs)
     self.player.save()
     return self.player
예제 #9
0
def register(response):
    if response.method == "POST":
        form = RegistrationForm(response.POST)
        if form.is_valid():
            #*Creating new RegistrationForm object which we will store in our database
            n = form.cleaned_data['username']
            p = Player(name=n)
            p.save()
            response.user.player.add(p)
            #*Logging in by default
            #!Cannot forget to save the form itself because authentication won't work otherwise
            form.save()
            return redirect("/login")
    else:
        form = RegistrationForm()

    if response.user.is_authenticated:
        u = Player.objects.get(id=response.user.id)
        return render(response, "register/register.html", {"form": form, "user": u, "logged_in": True})

    else:
        return render(response, "register/register.html", {"form": form, "logged_in": False})
예제 #10
0
def populate_player():
    print('Cargando jugadores...')
    Player.objects.all().delete()
    main_directory = 'info_champ'
    directory = main_directory + '/' + 'players'
    lista = []
    ix = open_dir(directory)
    with ix.searcher() as searcher:
        doc = searcher.documents()
        for row in doc:
            p = Player(idPlayer=row['idPlayer'],
                       name=row['name'],
                       urlPerfil=row['urlPerfil'],
                       ranking=row['ranking'],
                       winrate=row['winrate'])
            listChampion = []
            for id in row['idsChampion'].split(','):
                champion = Champion.objects.get(idChampion=id)
                listChampion.append(champion)
            p.save()
            p.idsChampion.set(listChampion)
            lista.append(p)
    print('Jugadores insertados: ' + str(Player.objects.count()))
    print('---------------------------------------------------------')
예제 #11
0
def load_user(user_id):
    return Player()
예제 #12
0
def index(request):
    channel_id = '423486275'

    if request.method == 'POST':
        username = request.POST['mc-username']
        print(username)

        # username validation
        for i in username:
            if i.upper() not in string.ascii_uppercase + '0123456789_':
                # raise ValidationError
                raise Exception('Юзернейм неверен.')

        twitch_id = request.POST.get('id')
        obj = Player.objects.get(twitch_id=twitch_id, mc_username=None)
        obj.mc_username = username
        obj.save()
        return render(request, 'thanks.html', context={'username': username})

        # TODO: username at thanks.html

    else:
        if request.GET.get('code'):
            # getting user information
            resp = requests.post('https://id.twitch.tv/oauth2/token',
                                 data={
                                     'client_id':
                                     'geqwz9a4dhcg3wcmv8qsu07p5bb9cx',
                                     'client_secret':
                                     '37cs0vpf6k3l3s71d3e8ios99ql6wi',
                                     'code': request.GET.get('code'),
                                     'grant_type': 'authorization_code',
                                     'redirect_uri': 'http://' + DOMAIN_NAME,
                                 }).json()
            access_token = resp.get('access_token')
            if not access_token:
                return render(request,
                              '500.html',
                              context={
                                  'title':
                                  'Ошибка, попробуйте переавторизоваться.'
                              })
            headers = {
                'Accept': 'application/vnd.twitchtv.v5+json',
                'Client-ID': 'geqwz9a4dhcg3wcmv8qsu07p5bb9cx',
                'Authorization': 'OAuth %s' % access_token
            }
            user_id = requests.get('https://api.twitch.tv/helix/users',
                                   headers={
                                       'Accept':
                                       'application/vnd.twitchtv.v5+json',
                                       'Client-ID':
                                       'geqwz9a4dhcg3wcmv8qsu07p5bb9cx',
                                       'Authorization':
                                       'Bearer %s' % access_token
                                   }).json().get('data')[0].get('id')

            # checking if he is subbed
            resp2 = requests.get(
                'https://api.twitch.tv/kraken/users/%s/subscriptions/%s' %
                (user_id, channel_id),
                headers=headers).json()
            if resp2.get('status') == 404:
                return render(request,
                              'not_subbed.html',
                              context={'debug': str([resp, resp2])})

            obj = Player(twitch_id=user_id, mc_username=None)
            try:
                obj.save()
            except IntegrityError:
                if not Player.objects.filter(twitch_id=user_id,
                                             mc_username=None).exists():
                    return render(
                        request,
                        '500.html',
                        context={'title': 'Ты уже добавлен в вайтлист.'})
            return render(request, 'add.html', context={'twitch_id': user_id})
        return render(request, 'index.html', context={'test_id': channel_id})