|
3 | 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 | 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | 5 | /*global Record: false, module: false */ |
| 6 | +(function(bom){ |
| 7 | +bom.version = "0.9.3 (2014-01-21)"; |
6 | 8 |
|
7 | | -module.version = "0.9.3 (2014-01-21)"; |
8 | | - |
9 | | -module.loadStateNames = function loadStateNames(state) { |
| 9 | +bom.loadStateNames = function loadStateNames(state) { |
10 | 10 | var names = new Record(); |
11 | 11 | names.readINI(system.cwd + "/bom_names.ini", state); |
12 | 12 | return names; |
13 | 13 | }; |
14 | 14 |
|
15 | | -module.idToFwoJsonUrl = function idToFwoJsonUrl(id) { |
| 15 | +bom.idToFwoJsonUrl = function idToFwoJsonUrl(id) { |
16 | 16 | // BoM's JSON seems to be a bit much for JSDB to handle correctly, i.e. not load entirely |
17 | 17 | var regionId = id.slice(0, id.indexOf(".")); |
18 | 18 | return "http://www.bom.gov.au/fwo/ID{0}/ID{1}.json".format(regionId, id); |
19 | 19 | }; |
20 | 20 |
|
21 | | -module.idToMinJsonUrl = function idToMinJsonUrl(id) { |
| 21 | +bom.idToMinJsonUrl = function idToMinJsonUrl(id) { |
22 | 22 | return String.format("http://vovo.id.au/scripts/bommin.php?id={0}&wmo={1}", id.split(".")); |
23 | 23 | }; |
24 | 24 |
|
25 | | -module.fullNameToName = function fullNameToName(name) { |
| 25 | +bom.fullNameToName = function fullNameToName(name) { |
26 | 26 | var station = name.split(" "), state = station.pop(); |
27 | 27 | return [station.join(" ").replace(/,$/, ""), state]; |
28 | 28 | } |
29 | 29 |
|
30 | | -module.nameToId = function nameToId(station, state) { |
| 30 | +bom.nameToId = function nameToId(station, state) { |
31 | 31 | var names = this.loadStateNames(state); |
32 | 32 | return names.get(station); |
33 | 33 | }; |
34 | 34 |
|
35 | | -module.cmd_bom_id2fwo = function cmd_bom_id2fwo(e) { |
| 35 | +bom.cmd_bom_id2fwo = function cmd_bom_id2fwo(e) { |
36 | 36 | e.notice(this.idToFwoJsonUrl(e.args)); |
37 | 37 | return true; |
38 | 38 | }; |
39 | 39 |
|
40 | | -module.cmd_bom_name2id = function cmd_bom_name2id(e) { |
| 40 | +bom.cmd_bom_name2id = function cmd_bom_name2id(e) { |
41 | 41 | e.reply(this.nameToId.apply(this, this.fullNameToName(e.args))); |
42 | 42 | return true; |
43 | 43 | }; |
44 | 44 |
|
45 | | -module.cmd_bom = function cmd_bom(e) { |
| 45 | +bom.cmd_bom = function cmd_bom(e) { |
46 | 46 | var args = e.args; |
47 | 47 | if (!args) { |
48 | 48 | e.reply(this.cmd_bom.help); |
@@ -100,4 +100,5 @@ module.cmd_bom = function cmd_bom(e) { |
100 | 100 | e.nreply("Current weather for", data.name + ",", state.toUpperCase(), "from the Bureau of Meteorology (as of", data.local_date_time + "):", res.join(" - ")); |
101 | 101 | return true; |
102 | 102 | }; |
103 | | -module.cmd_bom.help = "Get current weather conditions from the Bureau of Meteorology. Usage: bom <station> <state>"; |
| 103 | +bom.cmd_bom.help = "Get current weather conditions from the Bureau of Meteorology. Usage: bom <station> <state>"; |
| 104 | +})(module.exports); |
0 commit comments