View difference between Paste ID: aJT680L3 and bMQQFisQ
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