mirror of
https://github.com/TangentFoxy/FindingMusic.git
synced 2024-11-17 23:14:21 +00:00
improved random function, tried to fix funkwhale option in search.lua
This commit is contained in:
parent
f17a44e91f
commit
5a8636b7b4
File diff suppressed because one or more lines are too long
@ -120,7 +120,7 @@ function music.random(count, match, include, exclude)
|
||||
matches = filter(matches, include or {}, exclude or {})
|
||||
while count > 0 and #matches > 0 do
|
||||
for i = #matches, 1, -1 do
|
||||
if math.random() > 0.5 then
|
||||
if math.random() < 1 / #matches then
|
||||
table.insert(results, table.remove(matches, i))
|
||||
count = count - 1
|
||||
end
|
||||
|
21
search.lua
21
search.lua
@ -31,23 +31,30 @@ local count = tonumber(arg[1]) or 10
|
||||
local funkwhale = arg[2]
|
||||
|
||||
local results = music.random(count, nil, nil, {downloaded = true, searched = true})
|
||||
local errors_occurred, track = false
|
||||
local errors_occurred, name, encoded = false
|
||||
for _,v in ipairs(results) do
|
||||
track = music.name(v) -- music.data[v].names[1]
|
||||
if not track then
|
||||
name = music.name(v) -- music.data[v].names[1]
|
||||
if not name then
|
||||
print("Track '" .. v .. "' does not exist?")
|
||||
errors_occurred = true
|
||||
break
|
||||
end
|
||||
if urlencode then
|
||||
track = urlencode.encode_url(track)
|
||||
encoded = urlencode.encode_url(name)
|
||||
else
|
||||
track = track:gsub("%s", "+"):gsub("&", "&")
|
||||
encoded = name:gsub("%s", "+"):gsub("&", "&")
|
||||
end
|
||||
if funkwhale then
|
||||
os.execute("open \"https://funkwhale.tangentfox.com/search?q=" .. track .. "&type=tracks\"")
|
||||
local separator = name:find(" %- ")
|
||||
if separator then name = name:sub(separator + 3) end
|
||||
if urlencode then
|
||||
name = urlencode.encode_url(name)
|
||||
else
|
||||
name = name:gsub("%s", "+"):gsub("&", "&")
|
||||
end
|
||||
os.execute("open \"https://funkwhale.tangentfox.com/search?q=" .. name .. "&type=tracks\"")
|
||||
end
|
||||
os.execute("open \"https://google.com/search?q=" .. track .. "\"")
|
||||
os.execute("open \"https://google.com/search?q=" .. encoded .. "\"")
|
||||
end
|
||||
if errors_occurred then
|
||||
print("Database not saved because errors occurred.")
|
||||
|
Loading…
Reference in New Issue
Block a user