Skip to content

Commit

Permalink
Cloudstorage - Add option to view unsupported files (#5131)
Browse files Browse the repository at this point in the history
Option to show all files in cloudstorage also not supported by KOReader. We can also download any file.
To show all files in CS we need to enable option Show unsupported files in file manager (introducing in #5129)
Close: #5006
  • Loading branch information
robert00s authored and Frenzie committed Jul 21, 2019
1 parent 5597377 commit cbba756
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 27 deletions.
22 changes: 14 additions & 8 deletions frontend/apps/cloudstorage/dropbox.lua
Expand Up @@ -17,14 +17,20 @@ end
function DropBox:downloadFile(item, password, path, close)
local code_response = DropBoxApi:downloadFile(item.url, password, path)
if code_response == 200 then
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n %1\nWould you like to read the downloaded book now?"),
path),
ok_callback = function()
close()
ReaderUI:showReader(path)
end
})
if G_reader_settings:isTrue("show_unsupported") then
UIManager:show(InfoMessage:new{
text = T(_("File saved to:\n%1"), path),
})
else
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n %1\nWould you like to read the downloaded book now?"),
path),
ok_callback = function()
close()
ReaderUI:showReader(path)
end
})
end
else
UIManager:show(InfoMessage:new{
text = T(_("Could not save file to:\n%1"), path),
Expand Down
3 changes: 2 additions & 1 deletion frontend/apps/cloudstorage/dropboxapi.lua
Expand Up @@ -107,7 +107,8 @@ function DropBoxApi:listFolder(path, token)
type = tag,
})
--show only file with supported formats
elseif tag == "file" and DocumentRegistry:hasProvider(text) then
elseif tag == "file" and (DocumentRegistry:hasProvider(text)
or G_reader_settings:isTrue("show_unsupported")) then
table.insert(dropbox_file, {
text = text,
url = files.path_display,
Expand Down
22 changes: 14 additions & 8 deletions frontend/apps/cloudstorage/ftp.lua
Expand Up @@ -26,14 +26,20 @@ function Ftp:downloadFile(item, address, user, pass, path, close)
local file = io.open(path, "w")
file:write(response)
file:close()
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n %1\nWould you like to read the downloaded book now?"),
path),
ok_callback = function()
close()
ReaderUI:showReader(path)
end
})
if G_reader_settings:isTrue("show_unsupported") then
UIManager:show(InfoMessage:new{
text = T(_("File saved to:\n%1"), path),
})
else
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n %1\nWould you like to read the downloaded book now?"),
path),
ok_callback = function()
close()
ReaderUI:showReader(path)
end
})
end
else
UIManager:show(InfoMessage:new{
text = T(_("Could not save file to:\n%1"), path),
Expand Down
3 changes: 2 additions & 1 deletion frontend/apps/cloudstorage/ftpapi.lua
Expand Up @@ -54,7 +54,8 @@ function FtpApi:listFolder(address_path, folder_path)
type = type,
})
--show only file with supported formats
elseif extension and DocumentRegistry:hasProvider(item) then
elseif extension and (DocumentRegistry:hasProvider(item)
or G_reader_settings:isTrue("show_unsupported")) then
type = "file"
table.insert(ftp_file, {
text = file_name,
Expand Down
22 changes: 14 additions & 8 deletions frontend/apps/cloudstorage/webdav.lua
Expand Up @@ -17,14 +17,20 @@ end
function WebDav:downloadFile(item, address, username, password, local_path, close)
local code_response = WebDavApi:downloadFile(address .. WebDavApi:urlEncode( item.url ), username, password, local_path)
if code_response == 200 then
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n%1\nWould you like to read the downloaded book now?"),
local_path),
ok_callback = function()
close()
ReaderUI:showReader(local_path)
end
})
if G_reader_settings:isTrue("show_unsupported") then
UIManager:show(InfoMessage:new{
text = T(_("File saved to:\n%1"), local_path),
})
else
UIManager:show(ConfirmBox:new{
text = T(_("File saved to:\n%1\nWould you like to read the downloaded book now?"),
local_path),
ok_callback = function()
close()
ReaderUI:showReader(local_path)
end
})
end
else
UIManager:show(InfoMessage:new{
text = T(_("Could not save file to:\n%1"), local_path),
Expand Down
3 changes: 2 additions & 1 deletion frontend/apps/cloudstorage/webdavapi.lua
Expand Up @@ -114,7 +114,8 @@ function WebDavApi:listFolder(address, user, pass, folder_path)
type = "folder",
})
end
elseif item:find("<d:resourcetype/>") and DocumentRegistry:hasProvider(item_name) then
elseif item:find("<d:resourcetype/>") and (DocumentRegistry:hasProvider(item_name)
or G_reader_settings:isTrue("show_unsupported")) then
table.insert(webdav_file, {
text = item_name,
url = util.urlDecode( item_path ),
Expand Down

0 comments on commit cbba756

Please sign in to comment.