1616
1717function GetReleaseListForWindows ()
1818 local result = {}
19- local urls = { WIN_URL , WIN_URL_LTS }
19+ local urls = { WIN_RELEASES_URL , WIN_RELEASES_URL_LTS }
2020
2121 for _ , url in ipairs (urls ) do
2222 local resp , err = http .get ({ url = url })
@@ -41,7 +41,7 @@ function GetReleaseListForWindows()
4141 name = versionStr
4242 }
4343
44- entry .is_from_lts = (url == WIN_URL_LTS )
44+ entry .is_from_lts = (url == WIN_RELEASES_URL_LTS )
4545 table.insert (result , entry )
4646 end
4747 end
@@ -53,20 +53,27 @@ function GetReleaseListForWindows()
5353end
5454
5555function GetReleaseListForLinux ()
56- local resp , err = http .get ({
57- url = URL .. ' /releases'
58- })
59- local doc = html .parse (resp .body )
60-
6156 local result = {}
62- doc :find (" #layout-content h2" ):each (function (i , selection )
63- local versionStr = selection :text ()
64- if util .compare_versions (versionStr , " 5.3.2" ) >= 0 then
65- table.insert (result , {
66- version = versionStr ,
67- })
57+ local urls = { RELEASES_URL , RELEASES_URL_LTS }
58+
59+ for _ , url in ipairs (urls ) do
60+ local resp , err = http .get ({ url = url })
61+ local is_from_lts = (url == RELEASES_URL_LTS )
62+
63+ if resp then
64+ local doc = html .parse (resp .body )
65+ local query = " #layout-content " .. (is_from_lts and " h3" or " h2" )
66+ doc :find (query ):each (function (i , selection )
67+ local versionStr = is_from_lts and selection :attr (" id" ) or selection :text ()
68+ versionStr = versionStr :gsub (" ^v" , " " )
69+ if util .compare_versions (versionStr , " 5.3.2" ) >= 0 then
70+ table.insert (result , {
71+ version = versionStr ,
72+ })
73+ end
74+ end )
6875 end
69- end )
76+ end
7077
7178 table.sort (result , function (a , b )
7279 return util .compare_versions (a .version , b .version ) > 0
0 commit comments