Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

v1.8.0 - Azaroth MEGA FIX & Falkyre's new Install script

Compare
Choose a tag to compare
@riffnshred riffnshred released this 28 Feb 03:02
· 14 commits to master since this release

...Is this thing On ? (we're not dead yet)

Fixes done by @azaroth08 (A LOT)

  • added the lines to fix the box bounding in pillow and fixed the rectangle draw stuff
  • commented out the cython recompile lines
  • added httpx==0.20.0 as a pip installation
  • added two apt packages and updated APScheduler version
  • added new directory nhlpy which is essentially a fork of a different library on github but being maintained by myself
  • changed all calls in nhl_api modules to link to nhlpy (can set verbose=True to see which api calls its trying to make)
  • new method doesnt save in a class so changed all calls to the data to be a direct access (ex. x.details.event_owner_team_id -> x["details"]["eventOwnerTeamId"]) this happened in many places so cant provide them all but if it works once it should work everywhere provided the nhl doesnt change their api again
  • commented refresh_next_season()
  • had some issue with the date/time so ended up having to convert everything into datetime types (ex. line 357 of data/data.py) i suspect the class in the only api library did that automatically?
  • changed some areas of the logic to first check if data was available (probably done in the old class as well) ex for checking assists the logic is now if play_details.get("assisst1Player"): assists.append... This change in logic appears anywhere the data might be optional but seems to have a slight bug on the goal scorer where the goal is pushed to the api without the scorer being listed occasionally
  • removed the type casting for SeasonStandings (I assume this was part of the old library?) and fixed all references that that broke.
  • same as above for WeekSchedule
  • theres a weird thing where the api returns team names as "placeName" instead of just "name" when looking at older games so added some logic to look for that (see picture)
  • Slightly changed the team_previous_game() function to look further into the future if it returns an empty list. this should also fix a list index error but only implented 18 hours ago and can't find a team that doesnt have a game scheduled for more than a week
  • Fixed issue where day doesn't properly tick over to new day (this started after all star games?)

Fixes done by @falkyre

  • Environment Canada updated to latest version and will no longer stop the board if it can't connect to the EC Data Warehouse
  • OWM will now cache initial call using python diskcache so we don't hammer the OWM API if the board restarts under supervisor lots and lots of times in a short period.
  • OWM now using the OneCall 2.5 API for now (the OneCall 3.0 is coming soonish)
  • Location is now cached using python diskcache instead of to a local file under the config
  • Updated the logging to utilize the rich library. For giggles turn on the --loglevel=DEBUG and see how much is thrown back at you
  • Added a script to create a virtual environment (scripts/install_venv.sh). This also blacklists the snd_bcm2835 module and adds the isolcpus=3 to cmdline.txt
  • The install_venv.sh has been tested under Bullseye and also under Bookworm (64 bit). Virtual Environments work different as you know have to use the python in the virtual environment rather than the global python. The end of the install_venv.sh script will tell you exactly how to call the python using sudo. DO NOT IGNORE the last lines of output the script gives you.
  • Cleanup the requrements.txt

NEW FEATURE (From @falkyre's PR #448 )

Change of install.sh, this now gives 3 options: New Install, Upgrade and About (just some stuff about the install tool). The New install now calls a script called sb-init. The upgrade will call the sb-upgrade script. Both of these scripts are now located under the scripts/sbtools directory. NOTE: The install script DOES NOT need to be run with sudo as the scripts already handle that.

The sb-upgrade script will be the way to upgrade if and when new patches are released. It also handles if you are running a venv or under the old way of installation.