SHOW:
|
|
- or go back to the newest paste.
1 | --[[ | |
2 | DISCLAIMER: SCRIPT IS PROVIDED AS IS USE AT YOUR OWN RISK! | |
3 | ||
4 | Save this script as "hockey.lua" | |
5 | Place this script in: | |
6 | - Windows (all users): %ProgramFiles%\VideoLAN\VLC\lua\sd\ | |
7 | - Windows (current user): %APPDATA%\VLC\lua\sd\ | |
8 | - Linux (all users): /usr/share/vlc/lua/sd/ | |
9 | - Linux (current user): ~/.local/share/vlc/lua/sd/ | |
10 | - Mac OS X (all users): VLC.app/Contents/MacOS/share/lua/sd/ | |
11 | ||
12 | If you have issues using this, try changing all occurances of `add_subnode` to `add_node`. | |
13 | Older versions of VLC use `add_node`, but recent updates have switched to `add_subnode`. | |
14 | --]] | |
15 | require "simplexml" | |
16 | ||
17 | function descriptor() | |
18 | return { title="/r/hockey" } | |
19 | end | |
20 | ||
21 | function main() | |
22 | local quality = {400, 800, 1200, 1600, 2400, 3000, 4500} | |
23 | local games = simplexml.parse_url("http://208.92.36.37/nlds/as3/get_games.php?client=nhl&playerclient=hop") | |
24 | for _, game in ipairs( games.children ) do | |
25 | if(game.name == "game") then | |
26 | simplexml.add_name_maps( game ) | |
27 | local game_date = game.attributes["game_date"] | |
28 | local game_time = date_to_time(game_date) | |
29 | local home_team = full_name(game.children_map['home_team'][1].children[1]) | |
30 | local away_team = full_name(game.children_map['away_team'][1].children[1]) | |
31 | local game_title = game_time .. " " .. away_team .. " @ " .. home_team | |
32 | - | local node = vlc.sd.add_node( { title = game_title } ) |
32 | + | if not string.find(home_team,"^T%d%d$") and not string.find (away_team,"^T%d%d$") then |
33 | - | for _, ass in ipairs(game.children_map['assignments'][1].children) do |
33 | + | local node = vlc.sd.add_node( { title = game_title } ) |
34 | - | local feed = ass.attributes["feed_display_name"] |
34 | + | for _, ass in ipairs(game.children_map['assignments'][1].children) do |
35 | - | local feed_title = home_team |
35 | + | local feed = ass.attributes["feed_display_name"] |
36 | - | if(feed == "away") then |
36 | + | local feed_title = home_team |
37 | - | feed_title = away_team |
37 | + | if(feed == "away") then |
38 | feed_title = away_team | |
39 | - | local d = node:add_subnode({ title = feed_title }) |
39 | + | end |
40 | - | local ipad = ass.children_map['ipad_url'][1].children[1] |
40 | + | local d = node:add_subnode({ title = feed_title }) |
41 | - | for _, q in ipairs(quality) do |
41 | + | local ipad = ass.children_map['ipad_url'][1].children[1] |
42 | - | local url = string.gsub(ipad, "ipad", q) |
42 | + | for _, q in ipairs(quality) do |
43 | - | d:add_subitem({ path = url, title = q .. ' kbps' }) |
43 | + | local url = string.gsub(ipad, "ipad", q) |
44 | d:add_subitem({ path = url, title = q .. ' kbps' }) | |
45 | end | |
46 | end | |
47 | end | |
48 | end | |
49 | end | |
50 | end | |
51 | ||
52 | function date_to_time(game_date) | |
53 | -- TIME_OFFSET hours from Eastern time zone (moving westward). ie: Pacific should be 3 | |
54 | local TIME_OFFSET = 3 | |
55 | -- Change this so that the proper time is displayed for you. | |
56 | -- If you do not live in North America, you can add your timezone abreviation to the if statement below. | |
57 | local tz = "ET" | |
58 | if TIME_OFFSET == 1 then | |
59 | tz = "CT" | |
60 | elseif TIME_OFFSET == 2 then | |
61 | tz = "MT" | |
62 | elseif TIME_OFFSET == 3 then | |
63 | tz = "PT" | |
64 | end | |
65 | local game_time = string.gsub(game_date, "^.-%s(%d?%d):(%d%d):%d%d", "%1:%2 PM " .. tz) | |
66 | local _, _, hour = string.find(game_time, "^(%d?%d)") | |
67 | hour24 = tonumber(hour) | |
68 | local local_noon = (12 + TIME_OFFSET) | |
69 | local hour12 = tostring(hour24 - TIME_OFFSET) | |
70 | if hour24 < (local_noon) then | |
71 | game_time = string.gsub(game_time, "PM", "AM") | |
72 | elseif hour24 > (local_noon) then | |
73 | hour12 = tostring(hour24 - (local_noon)) | |
74 | end | |
75 | game_time = string.gsub(game_time, "^%d?%d", hour12) | |
76 | return (game_time) | |
77 | end | |
78 | ||
79 | function full_name(abr) | |
80 | local all_names = { | |
81 | BOS = "Boston Bruins", | |
82 | BUF = "Buffalo Sabres", | |
83 | CGY = "Calgary Flames", | |
84 | CHI = "Chicago Blackhawks", | |
85 | DET = "Detroit Red Wings", | |
86 | EDM = "Edmonton Oilers", | |
87 | CAR = "Carolina Hurricanes", | |
88 | LOS = "Los Angeles Kings", | |
89 | MON = "Montreal Canadiens", | |
90 | DAL = "Dallas Stars", | |
91 | NJD = "New Jersey Devils", | |
92 | NYI = "New York Islanders", | |
93 | NYR = "New York Rangers", | |
94 | PHI = "Philadelphia Flyers", | |
95 | PIT = "Pittsburgh Penguins", | |
96 | COL = "Colorado Avalanche", | |
97 | STL = "St. Louis Blues", | |
98 | TOR = "Toronto Maple Leafs", | |
99 | VAN = "Vancouver Canucks", | |
100 | WSH = "Washington Capitals", | |
101 | PHX = "Phoenix Coyotes", | |
102 | SAN = "San Jose Sharks", | |
103 | OTT = "Ottawa Senators", | |
104 | TAM = "Tampa Bay Lightning", | |
105 | ANA = "Anaheim Ducks", | |
106 | FLA = "Florida Panthers", | |
107 | CMB = "Columbus Blue Jackets", | |
108 | MIN = "Minnesota Wild", | |
109 | NSH = "Nashville Predators", | |
110 | WPG = "Winnipeg Jets" | |
111 | } | |
112 | local name = all_names[abr] | |
113 | if name == nil then | |
114 | name = abr | |
115 | end | |
116 | return(name) | |
117 | end |