changes for tonight, cont tomorrow
This commit is contained in:
		
							parent
							
								
									5429d3a83b
								
							
						
					
					
						commit
						cdfe8e6062
					
				@ -21,7 +21,7 @@ The JSON structure should look like this:
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
This file can be placed in either:
 | 
			
		||||
* */home/user/.config/rem/tasks.json*
 | 
			
		||||
* */home/user/go/src/rem/tasks.json*
 | 
			
		||||
* /home/user/.config/rem/tasks.json
 | 
			
		||||
* /home/user/go/src/rem/tasks.json
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										29
									
								
								config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								config.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"os"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//TODO: Create:
 | 
			
		||||
// * LoadConfig
 | 
			
		||||
// * CreateSampleConfig
 | 
			
		||||
 | 
			
		||||
type Config struct {
 | 
			
		||||
	Tasks []Task
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LoadConfig will take in the filename, load the JSON and return a pointer to Config
 | 
			
		||||
func LoadConfig(filename string) (*Config, error) {
 | 
			
		||||
	file, err := os.ReadFile(filename)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err //nil is used here as we return a pointer to Config
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	config := &Config{}
 | 
			
		||||
	err = json.Unmarshal(file, &config)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return config, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								main.go
									
									
									
									
									
								
							@ -1,7 +1,22 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import "fmt"
 | 
			
		||||
import (
 | 
			
		||||
	"flag"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	var configFlag string
 | 
			
		||||
	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)
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								tasks.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								tasks.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								tasks.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								tasks.json
									
									
									
									
									
										Normal file
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user