From 9d185f71c33ae27ce4edee9f422e25a6e6953bf8 Mon Sep 17 00:00:00 2001 From: Valentin <43043885+itsmrval@users.noreply.github.com> Date: Fri, 22 Dec 2023 15:57:13 +0100 Subject: [PATCH] design + calendar --- .DS_Store | Bin 8196 -> 8196 bytes app.py | 113 ++++++++++++++++++++++++++++-------------- index.py | 7 ++- static/.DS_Store | Bin 6148 -> 6148 bytes static/logo/.DS_Store | Bin 6148 -> 6148 bytes static/logo/logo.png | Bin 20376 -> 12695 bytes templates/events.html | 17 +++++++ templates/index.html | 87 ++++++++++++++++++++------------ 8 files changed, 149 insertions(+), 75 deletions(-) create mode 100644 templates/events.html diff --git a/.DS_Store b/.DS_Store index 6ba1a3b91cb54ad8aa9ac62dfbbda9564b9f805b..607f7f24b5237dbf0533a8cdb57088ba5ccf66f9 100644 GIT binary patch delta 140 zcmZp1XmOa}FDk^qz`)4BAi%(o%#aAg84Rfm@f!=Lu}^H^-OSFx!eI_l!Oaj4gar(h z$f_9PJ#+GtlXCKtfGU6nFv2Hwr=94s7+f}5QLRG65} a%`GQOinwfED|DH0vlq`^=FRL9f7t') +def api_events(user_id): + events = getUserMatches(user_id) + return render_template('events.html', events=events) - events_data = [] - for team in user_teams: - team_events = parseTeamEvents(team.events) - events_data.extend(team_events) +@app.route('/calendar/.ics') +def generate_ical_feed(user_id): + events = getUserMatches(user_id) + ical_content = generate_ical(events) - ical_data = generateIcal(events_data) + response = Response( + ical_content, + content_type='text/calendar', + headers={ + 'Content-Disposition': 'inline; filename=calendar.ics', + 'Cache-Control': 'no-store, no-cache, must-revalidate, max-age=0', + 'Pragma': 'no-cache', + 'Expires': '0', + } + ) - response = Response(ical_data, content_type='text/calendar') - response.headers['Content-Disposition'] = 'inline; filename=calendar.ics' - return response - - return redirect("/login", code=302) + return response @app.route('/login') def login(): diff --git a/index.py b/index.py index 5c96162..96f5151 100644 --- a/index.py +++ b/index.py @@ -23,8 +23,6 @@ for game_date in data['leagueSchedule']['gameDates']: } matches_info.append(match_info) -# Afficher la liste des matchs -#print(matches_info) teams_dict = { 1: "Lakers", @@ -59,5 +57,6 @@ teams_dict = { 30: "Nets" } -# Affichage du dictionnaire -print(teams_dict) +for i in matches_info: + if (i['hometeamName'] == teams_dict[1] or i['awayteamName'] == teams_dict[1]): + print(i['hometeamName'] + " vs " + i['awayteamName'] + " " + i['gameDateTimeUTC']) \ No newline at end of file diff --git a/static/.DS_Store b/static/.DS_Store index 82ca71712588e00c240de238020c48139f253b82..e15ca60dc9ad266a6fc20fc84b820de8309dd265 100644 GIT binary patch delta 33 ocmZoMXffDufJwyI*hELc)YPI@N1@u%$UsNI#Mo@}6($2w0HP=f4FCWD delta 33 ocmZoMXffDufJwyM+)_uu*ubDxN1@u%$UsNI)ZBFQ6($2w0HS6I4*&oF diff --git a/static/logo/.DS_Store b/static/logo/.DS_Store index a395de65962f818741019d37de2af45ab23a8dd6..4ce538abdec152efb056368e817904679a8eafcb 100644 GIT binary patch delta 36 qcmZoMXffDe&cYZz*@8uzwVQ!~A$)QMi!P8qjYXgF@aAJIcESL(hzb7y delta 36 qcmZoMXffDe&cdiS*@8uzRhEH)L2q&fi!P8qjYXev*5+d@cESLl)ClbW diff --git a/static/logo/logo.png b/static/logo/logo.png index d5f9acae8a610aab758656d202b1cc4640152afe..57484ca46e14ada3820af82e57c50dfa6da86e32 100644 GIT binary patch literal 12695 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 Sx+1WkKX%0WaQ-3M<^KaqbM3qU literal 20376 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 YM<*2QahB}%r + + + + + + API Events + + +

API Events

+
    + {% for event in events %} +
  • {{ event }}
  • + {% endfor %} +
+ + diff --git a/templates/index.html b/templates/index.html index 3264e9a..8e73845 100644 --- a/templates/index.html +++ b/templates/index.html @@ -5,6 +5,8 @@ Calendar settings + + -
- -