A YES/NO app to show if there was an NHL game yesterday 📆
Branch: master
Clone or download
Pull request Compare This branch is 267 commits ahead, 2 commits behind amanjeev:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
.project
.pydevproject
.travis.yml
LICENSE
README.md
e2e_test.py
gcloud.md
pylintrc
wasthereannhlgamelastnight-c0aea3438a34.json.enc
wtangy.xml
wtangy_front.png
wtangy_menu.png

README.md

wasthereannhlgameyesterday?

Build Status Code style: black

Print YES or NO!

Usage

endpoint function format example admin
/$TEAM YES/NO HTML* RedWings
/$CITYTEAM YES/NO HTML* DetroitRedWings
/$CITY YES/NO HTML* Detroit
/$SHORT YES/NO HTML* DET
/$DATE/$TEAM YES/NO HTML* 20171022/RedWings
/$TEAM/$DATE YES/NO HTML* RedWings/20171111
/get_schedule Print Schedule JSON
/version Print Schedule Update Time JSON/ISODATE { "version": "2018-01-27T08:57:00.372800" }
/menu Present user with a clickable menu HTML
/update_schedule Update Schedule Y

* If you use Curl, Wget or Python-Urllib then all you get is YES or NO

Examples

case insensitive:

What do these mean?

  • Not choosing anything just tells you if there was a game yesterday
  • Choosing a team means you only get YES if that team played yesterday.
  • Choosing a date means you only get YES if there is a game on that date.
  • Choosing a team and a date you only get YES if the chosen team plays/played on that date.
  • Choosing a team incorrectly and a date correctly you only get YES if there was/is a game on that date

There's also:

Features

  • Persistent team selection using HTML5 Web Storage. If you choose a team in the menu and you later revisit https://wtangy.se (from the same browser) you'll see the result for that team.
  • This works with the new NHL.com website (2017-)
  • rikschennink/shiny answer on capable mobile devices

Why?

So I(author) live in a timezone where the NHL games are often over at 5am in the morning, sometimes they start then. I tend to watch replays. I'm not always sure if there was a game yesterday. Schedules online often have the results, news or "yes, also it went to overtime" to spoil the game.

It would be really nice if I could just browse to $URL/team and it would tell me if my team played yesterday or during Stanley Cup (or regular season) $URL would be enough to just tell me if there was a game at all.

Now there is! :)

How to update the schedule inside the scripts?

The schedule used by this web site is stored in the backend.

As an admin you can update it manually or configure a cronjob:

What about regular season and playoffs?

Currently the script doesn't differentiate between playoffs and regular seasons.

It just takes the dates from NHL.com's API. There are more arguments to this API that I have not found any documentation for. Here's one result from google searches:

https://statsapi.web.nhl.com/api/v1/schedule/startDate=2016-01-31&endDate=2016-02-05?expand=schedule.teams,schedule.linescore,schedule.broadcasts,schedule.ticket,schedule.game.content.media.epg&leaderCategories=&site=en_nhl&teamId=&

TODO / Known issues

  • Choosing background color - would be sweet if it could do HTML5 so users can choose themselves too like in https://www.w3schools.com/colors/colors_picker.asp
  • games include preseason - if this is a problem let me know!
  • add a calendar selection too near the menu?
  • an app!
  • proper logging
  • dynamically generate a sitemap.xml
  • improve testing
    • assert that we are redirected to update_schedule
    • update schedule_testing and then verify it / validate json
    • performance testing
    • lint javascript,css,html

Source

gcloud - reminders for myself.

Forked from https://github.com/amanjeev/isitfridaythe13th because it had the google appspot already in it and python :) Thanks!

wasthereannhlgamelastnight(..) has been re-written a few times - it's no longer even close to the isitfridaythe13th, for example:

  • it now uses webapp2 for example instead of python print to stdout.
  • it used to have a manual NHL_schedule.py with a set and a list, now it reads and writes to gcloud object store!