incorporate new module gamescrapyr, incorporate loading from sessions before creating new client.

This commit is contained in:
2022-06-23 07:31:37 -05:00
parent cf28a5f133
commit c31cd1cce5
5 changed files with 46 additions and 248 deletions

View File

@@ -8,6 +8,7 @@ from teamsnap.views import get_teamsnap_client
from .forms import AccountForm, PlayerFormSet, PreferencesForm
from .models import Account, Player, Preferences, Team
from .utils import gamechanger
from .utils.gamechanger import get_gamechanger_client
def teams(request):
@@ -124,32 +125,31 @@ class AccountFormView(FormView):
def roster(request):
season_id = request.user.gamechanger_preferences.managed_team.season_slug
team_id = request.user.gamechanger_preferences.id
page = "roster"
d = gamechanger.scrape_page(season_id, team_id, page)
roster = d["roster"]
gamechanger = get_gamechanger_client(request)
roster = gamechanger.get_roster()
return render(request, "gamechanger/roster.html", context={"roster": roster})
def roster_import(request):
if request.method == "GET":
from pyteamsnap.api import Member
from pyteamsnap.objects import Member
client = get_teamsnap_client(request)
season_id = request.user.gamechanger_preferences.managed_team.season_slug
gc_client = get_gamechanger_client(request)
season_slug = request.user.gamechanger_preferences.managed_team.season_slug
team_slug = request.user.gamechanger_preferences.managed_team.slug
team_id = request.user.gamechanger_preferences.managed_team.id
ts_client = get_teamsnap_client(request)
teamsnap_team_id = request.user.teamsnap_preferences.managed_team_id
teamsnap_members = {
f"{member.data['first_name']} {member.data['last_name']}": member
for member in Member.search(client, team_id=teamsnap_team_id)
for member in Member.search(ts_client, team_id=teamsnap_team_id)
}
page = "roster"
d = gamechanger.scrape_page(season_id, team_id, team_slug, page)
roster = d["roster"]
roster = gc_client.get_roster(
team_id=team_id, team_slug=team_slug, season_slug=season_slug
)
initial = [
{
"gamechanger_name": f"{player['fname']} {player['lname']}",
@@ -215,6 +215,9 @@ def lineup_submit(request):
if request.GET:
return HttpResponseNotAllowed()
if request.POST:
from gamechanger.utils.gamechanger import get_gamechanger_client
gc_client = get_gamechanger_client(request)
formset = LineupEntryFormset(request.POST)
if formset.is_valid():
lineup_data = [
@@ -251,7 +254,7 @@ def lineup_submit(request):
)
elif lineup_entry["label"] != "DR":
lineup.append(d)
r = gamechanger.submit_lineup(request, lineup)
r = gc_client.submit_lineup(lineup)
if r.content == b"OK":
return HttpResponse(status=200)
else: