SHA2017Badge/Hatchery

From Badge team
Jump to navigation Jump to search

badge.team[edit]

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

Registration[edit]

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

App model[edit]

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

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

main()[edit]

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

on_boot.py[edit]

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[edit]

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[edit]

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

API[edit]

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[edit]

Hatchery on Github