1.0.1 • Published 10 months ago
@gcweatherfetch/weathersync v1.0.1
Description
This is a tool to fetch the forecase mp3 files from the Government of Canada's Environment service.
Installing
Run yarn install
to install all required deps.
Locations
The filenames have the following nomenclature:
`LOCATION_TYPE_L.mp3
where:
- LOCATION: Location code for this voice file. This code as the form 's0000NNN'. The complete locations list is available here under the directory http://dd.weather.gc.ca/citypage_weather/docs/
- TYPE: string indicating the type of the voice file. It can be one of those 3 types:
** 'sa' is for current weather condition
** 'd1d2' is for the short term forecast (Day 1 and 2)
** 'd3d7' is for the outlook (Forecast from day 3 to day 7)
* L: 1 letter indicating the language of the file. Can be one of the values:
** f (French)
** e (English)
Examples for Halifax:
s0000318_d1d2_e.mp3
s0000318_d3d7_e.mp3```
## Runnning
It takes three arguments, province, city, and types.
Provinces must be in the following list:
AB: 'Alberta', BC: 'British Columbia', MB: 'Manitoba', NB: 'New Brunswick', NL: 'Newfoundland and Labrador', NS: 'Nova Scotia', NT: 'Northwest Territories', NU: 'Nunavut', ON: 'Ontario', PE: 'Prince Edward Island', QC: 'Québec', SK: 'Saskatchewan', YT: 'Yukon'
It can then be run by invoking the following command:
```node index.js --province=Ontario --city=Muskoka --types='["sa"]' ```
It will then save three streams to the `/forecasts/` folder.
- current forecast
- short-term forecast
- long-term forecase
Interval based updates are run using cron. To update on an interval basis, run `index-cron` with the `--interval` flag set to one of `secondly, minutely, hourly, or daily`:
```node index.js --province=Ontario --city=Muskoka --interval=hourly```