This packaging may still be a little rough and raw.
In particular, it may be a Good Idea to use Git submodules
and pip install -e to set things up.
(Set up a virtualenv first, naturally.)
pip install -e .
(cd infotv/frontend && npm i && npm run build)
(python manage.py migrate && python manage.py runserver)
- Use
npm run releaseinstead ofnpm run buildwhen deploying. Otherwise your bandwidth will be sad. - The
infotv_cache_weathermanagement command should be run periodically to cache weather data (if required). You'll need an API key from OpenWeatherMap for that.
- The
anime,nownextandsocialslides assume that the server hosting the app also serves the Desucon.fi API. This will likely not be the case for you, dear reader. - The frontend supports these query string parameters:
?edit=1-- edit slides?only=slideclass-- show only a slide of classslideclass?slow=1-- disable transitions (for poor ol' Raspberry Pis)?loc=location-- show only thelocationlocation onnownextslides (useful for room-specific schedule displays)?deck=deckname-- show slides from deckdecknameinstead of default deck
INFOTV_POLICY_CLASS: A dotted path to a class that declares certain authentication and lookup policies (seeinfotv.policy)INFOTV_EVENT_MODEL: A dotted path to the model for "events" (if the default policy is used). If None, no actual DB lookup is done for events.INFOTV_EVENT_SLUG_ATTR: The name of a "slug"/unique-identifier attribute in the event model above (if the default policy is used). Defaults toslug.INFOTV_STYLE: The theme fromstyles/...subdirectory for the front-end. Defaults todesucon.
pip install pytest-django
py.test