admin: Export more importer functions

This commit is contained in:
nemunaire 2023-11-25 17:13:31 +01:00
commit 1f833d39fc
7 changed files with 26 additions and 26 deletions

View file

@ -35,11 +35,11 @@ type Importer interface {
// Callback return is forwarded.
importFile(URI string, next func(string, string) (interface{}, error)) (interface{}, error)
// getFileReader returns a reader to the requested file.
getFile(filename string) (io.Reader, error)
GetFile(filename string) (io.Reader, error)
// listDir returns a list of the files and subdirectories contained inside the directory at the given location.
listDir(filename string) ([]string, error)
ListDir(filename string) ([]string, error)
// stat returns many information about the given file: such as last modification date, size, ...
stat(filename string) (os.FileInfo, error)
Stat(filename string) (os.FileInfo, error)
}
// DirectAccessImporter abstracts importer that support direct file access through a local path
@ -65,7 +65,7 @@ var GlobalImporter Importer
// GetFileSize returns the size.
func GetFileSize(i Importer, URI string) (size int64, err error) {
if i.Exists(URI) {
if fi, err := i.stat(URI); err != nil {
if fi, err := i.Stat(URI); err != nil {
return 0, err
} else {
return fi.Size(), nil
@ -75,7 +75,7 @@ func GetFileSize(i Importer, URI string) (size int64, err error) {
dirname := path.Dir(URI)
if i.Exists(dirname) {
filename := path.Base(URI)
if files, err := i.listDir(dirname); err != nil {
if files, err := i.ListDir(dirname); err != nil {
return size, err
} else {
for _, fname := range []string{filename, filename + "."} {
@ -83,7 +83,7 @@ func GetFileSize(i Importer, URI string) (size int64, err error) {
for _, file := range files {
if matched, _ := path.Match(fname+"[0-9][0-9]", file); matched {
found = true
if fi, err := i.stat(path.Join(dirname, file)); err != nil {
if fi, err := i.Stat(path.Join(dirname, file)); err != nil {
return size, err
} else {
size += fi.Size()
@ -105,7 +105,7 @@ func GetFileSize(i Importer, URI string) (size int64, err error) {
func GetFile(i Importer, URI string) (io.Reader, func(), error) {
// Import file if it exists
if i.Exists(URI) {
fd, err := i.getFile(URI)
fd, err := i.GetFile(URI)
return fd, func() {
if fdc, ok := fd.(io.ReadCloser); ok {
fdc.Close()
@ -117,7 +117,7 @@ func GetFile(i Importer, URI string) (io.Reader, func(), error) {
dirname := path.Dir(URI)
if i.Exists(dirname) {
filename := path.Base(URI)
if files, err := i.listDir(dirname); err != nil {
if files, err := i.ListDir(dirname); err != nil {
return nil, nil, err
} else {
var readers []io.Reader
@ -125,7 +125,7 @@ func GetFile(i Importer, URI string) (io.Reader, func(), error) {
for _, fname := range []string{filename, filename + "."} {
for _, file := range files {
if matched, _ := path.Match(fname+"[0-9][0-9]", file); matched {
fd, err := i.getFile(path.Join(dirname, file))
fd, err := i.GetFile(path.Join(dirname, file))
if err != nil {
// Close already opened files to avoid leaks
for _, rd := range readers {