From f85131b80a327d8a42a578a4deb7b42ebe7d24b9 Mon Sep 17 00:00:00 2001 From: simonkellet Date: Fri, 16 Sep 2022 13:04:30 +0100 Subject: [PATCH] test --- config.go | 2 +- main.go | 5 +++-- run.go | 11 +++++++++++ tasks.go | 23 +++++++++-------------- tasks.json | 20 ++++++++++++++++++++ 5 files changed, 44 insertions(+), 17 deletions(-) create mode 100644 run.go diff --git a/config.go b/config.go index 341c7bc..9114ae1 100644 --- a/config.go +++ b/config.go @@ -13,7 +13,7 @@ type Config struct { Tasks []Task } -// LoadConfig will take in the filename, load the JSON and return a pointer to Config +// LoadConfig will take in the filename, load the JSON and return a pointer to Config, a slice of Tasks func LoadConfig(filename string) (*Config, error) { file, err := os.ReadFile(filename) if err != nil { diff --git a/main.go b/main.go index d5811d3..a291ac2 100644 --- a/main.go +++ b/main.go @@ -11,12 +11,13 @@ func main() { flag.StringVar(&configFlag, "c", "", "path to tasks.json") flag.Parse() - fmt.Println("Hello World") fmt.Printf("Reading JSON file: %s\n", configFlag) config, err := LoadConfig(configFlag) if err != nil { fmt.Fprintf(os.Stderr, "Cannot load config file: %s\n\t%s\n", configFlag, err) } - fmt.Println(config) + //fmt.Println(config.Tasks[0].TaskName) + + TaskRun(*config) } diff --git a/run.go b/run.go new file mode 100644 index 0000000..b4dc975 --- /dev/null +++ b/run.go @@ -0,0 +1,11 @@ +package main + +import "fmt" + +// Run will take the config file and for each task, run a go routine +func TaskRun(c Config) { + for i, v := range c.Tasks { + fmt.Printf("%d, %s", i, v) + } + +} diff --git a/tasks.go b/tasks.go index 9aa3258..e6affba 100644 --- a/tasks.go +++ b/tasks.go @@ -2,19 +2,14 @@ package main // TODO: Finish off doc. here -/* -Task: - - Each 'task' will have a name, desc. time between reminder and a cmd - The 'CMD' will take shell script such as e.g. - $ checkupdates | wc -l - and store the output as a string to use in the desc. - If the 'CMD' is empty, we will just put a new line (maybe change this) -*/ type Task struct { - TaskName string - TaskDesc string - Interval int32 - CMD string - Icon string + TaskName string `json:"taskname"` + TaskDesc string `json:"taskdesc"` + Interval int32 `json:"interval"` + CMD string `json:"cmd"` + Icon string `json:"icon"` +} + +func (t *Task) PrintTask() { + } diff --git a/tasks.json b/tasks.json index e69de29..147c859 100644 --- a/tasks.json +++ b/tasks.json @@ -0,0 +1,20 @@ +{ + "Tasks": + [ + { + "taskname": "Example Task", + "taskdesc": "This is placeholder", + "interval": -1, + "cmd": " ", + "icon": " " + }, + + { + "taskname": "Second Example", + "taskdesc": "Still Place holder", + "interval": -1, + "cmd": " ", + "icon": " " + } + ] +}