This Python script will download all the tvOS videos to the downloads folder.
This script also turns the Localizable.nocache.strings
into a json file that is hosted here in the api folder.
entries.json
is also avaliable under api/{release}/entries.json
These can be pulled using the following url:
https://declan-fitzpatrick.github.io/aerials/api/{release}/{parsed|raw}/{lang}
Finally, a Docker container will serve the files (with CORS) on localhost:5050. Reverse proxy setup is left as an exercise to the reader.
Expected environment variables and their defaults:
ENV VAR | Description | Defaults, Options |
---|---|---|
SKIP_GENERATE_POI | skip the generation of points of interest files | default False |
LOCALISE_BIZ_API_KEY | API key for your Loco project. Create project here docs | default None |
TVOS_VERSION | the tvOS version to use for downloads | default 16 |
VIDEO_QUALITY | the tvOS quality to download | default "url-1080-H264", opts "url-1080-H264", "url-1080-HDR", "url-1080-SDR", "url-4K-HDR", "url-4K-SDR" |
BW_LIMIT | Limit the video download to ~1MB/s | Default false |
Run:
ENV_VAR=<value> python downloadAerials.py
"because i could throw .strings at them and download .json"
Nice API docs
It has the same contents as raw, just split into the video title and time stamps.
raw:
{
"VideoId_TS" : "description",
}
parsed:
{
"VideoId": {
"TS": "description",
}
}
Can upload your own file to loco without an account
or locally: plistutil on Linux, but this only generates xml
plistutil -i Localizable.nocache.strings -f xml -o results.xml
Mac uses:
plutil -convert xml1 Localizable.nocache.strings
The container is hosted in DockerHub:
- First run the downloader script above to grab the files
- run the docker compose file
docker-compose up