SHA2017Badge/Hatchery

From Badge team
Jump to navigation Jump to search

badge.team

The hatchery lives at badge.team and is a repository of apps for use on your badge.

Registration

Registration is simple, email can be test@test.com, it is only used for password resets.

App model

Apps are folders with as a minimal requirement a __init__.py file.

Hatchery will add an empty version of that file for you.

main()

This is what should be run after import by the Launcher.

on_boot.py

This is what will be started on boot (if present) like so from app import on_boot

You can use this to run TSR apps (take a look at the flashlight app for an example of this..

metadata.json

Unless you upload or create such a file, Hatchery will generate one . .

This contains at-minimum the description of the app and weather or not it should be shown in the Launcher.

Hatching eggs

Installation of apps on the badge is done with woezel via REPL or with help of a graphical Installer on the badge.

API

There's an api available, used by woezel and Installer, it currently has 4 endpoints:

/eggs/get/[app]/json       - get json data for a the egg named [app]
/eggs/list/json            - a list of all eggs with name, slug, description, revision
/eggs/search/[words]/json  - json data for search query [words]
/eggs/categories/json      - json list of categories
/eggs/category/[cat]/json  - json data for category [cat]

There is also a simplifier/cacher for the Schedule JSON

/schedule/days             - the 5 days of SHA
/schedule/day/[0-4]        - simplified lectures data for the day

Code

Hatchery on Github