feature: Extra file info using onfileindir (#293)

This commit is contained in:
James Read 2024-04-26 23:05:28 +01:00 committed by GitHub
parent 500419307b
commit d6cb634824
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 7 deletions

View File

@ -6,6 +6,8 @@ import (
"github.com/OliveTin/OliveTin/internal/executor"
"github.com/OliveTin/OliveTin/internal/filehelper"
"path/filepath"
"os"
"fmt"
)
func WatchFilesInDirectory(cfg *config.Config, ex *executor.Executor) {
@ -25,17 +27,27 @@ func WatchFilesInDirectory(cfg *config.Config, ex *executor.Executor) {
}
func scheduleExec(action *config.Action, cfg *config.Config, ex *executor.Executor, path string) {
args := map[string]string{
"filepath": path,
"filename": filepath.Base(path),
"filedir": filepath.Dir(path),
"fileext": filepath.Ext(path),
}
if stat, err := os.Stat(path); err == nil {
args["filesizebytes"] = fmt.Sprintf("%v", stat.Size())
args["filemode"] = fmt.Sprintf("%#o", stat.Mode())
args["filemtime"] = fmt.Sprintf("%v", stat.ModTime())
args["fileisdir"] = fmt.Sprintf("%v", stat.IsDir())
}
fmt.Printf("%+v", args)
req := &executor.ExecutionRequest{
ActionTitle: action.Title,
Cfg: cfg,
Tags: []string{"fileindir"},
Arguments: map[string]string{
"filepath": filepath.Base(path),
"filename": filepath.Base(path),
"filedir": filepath.Dir(path),
"fileext": filepath.Ext(path),
},
Arguments: args,
AuthenticatedUser: &acl.AuthenticatedUser{
Username: "fileindir",
},