Add catch-all handler for not further specified extensions.

This commit is contained in:
Marcel Schramm 2020-08-22 15:46:10 +02:00
parent c0152662f0
commit 2e28bcb383
No known key found for this signature in database
GPG Key ID: 05971054C70EEDC7
1 changed files with 15 additions and 11 deletions

View File

@ -65,18 +65,22 @@ func OpenFile(targetFolder, fileID, downloadURL string) error {
return nil
}
commandParts := commands.ParseCommand(strings.ReplaceAll(handlerTrimmed, "{$file}", targetFile))
command := exec.Command(commandParts[0], commandParts[1:]...)
startError := command.Start()
if startError != nil {
return startError
}
} else {
openError := open.Run(targetFile)
if openError != nil {
return openError
return openWithHandler(handlerTrimmed, targetFile)
}
defaultHandler, isDefaultHandlerSet := config.Current.FileOpenHandlers["*"]
if isDefaultHandlerSet {
defaultHandlerTrimmed := strings.TrimSpace(defaultHandler)
if defaultHandlerTrimmed != "" {
return openWithHandler(defaultHandlerTrimmed, targetFile)
}
}
return nil
return open.Run(targetFile)
}
func openWithHandler(handler, targetFile string) error {
commandParts := commands.ParseCommand(strings.ReplaceAll(handler, "{$file}", targetFile))
command := exec.Command(commandParts[0], commandParts[1:]...)
return command.Start()
}