Dan Anglin
632a620180
This commit adds integration to external image viewers and video players to allow users to view image and video attachments. Enbas creates a cache directory where the media is downloaded to before opening the external program for viewing. Users can view one or more media attachments from a single status.
32 lines
621 B
Go
32 lines
621 B
Go
// SPDX-FileCopyrightText: 2024 Dan Anglin <d.n.i.anglin@gmail.com>
|
|
//
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package utilities
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func ReadFile(path string) (string, error) {
|
|
data, err := os.ReadFile(path)
|
|
if err != nil {
|
|
return "", fmt.Errorf("unable to read the data from the file: %w", err)
|
|
}
|
|
|
|
return string(data), nil
|
|
}
|
|
|
|
func FileExists(path string) (bool, error) {
|
|
if _, err := os.Stat(path); err != nil {
|
|
if errors.Is(err, os.ErrNotExist) {
|
|
return false, nil
|
|
}
|
|
|
|
return false, fmt.Errorf("unable to check if the file exists: %w", err)
|
|
}
|
|
|
|
return true, nil
|
|
}
|