-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommands.go
More file actions
107 lines (86 loc) · 2.84 KB
/
Copy pathcommands.go
File metadata and controls
107 lines (86 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package main
import (
"context"
"monitfiles/logger"
)
type Parser struct {
Storage *Storage
Config *Configs
}
func (p Parser) quit(ctx context.Context, log logger.Logr) int {
for i := range *p.Storage {
log.Println((*p.Storage)[i].Done)
(*p.Storage)[i].Done <- true
}
if p.Config.Verbose {
log.Println("\U0001F44B bye!")
}
return errOK
}
func (p Parser) help(ctx context.Context, log logger.Logr) int {
log.Println("available commands: quit help moo count list fire configs start stop")
return errContinue
}
func (p Parser) moo(ctx context.Context, log logger.Logr) int {
log.Println("\n^__^ \n(oo)\\_______ \n(__)\\ )\\/\\ \n ||----w | \n || ||\n ")
return errContinue
}
func (p Parser) count(ctx context.Context, log logger.Logr) int {
log.Printf("%d files on store \n", len(*p.Storage))
return errContinue
}
func (p Parser) configs(ctx context.Context, log logger.Logr) int {
log.Println("configs:")
log.Printf(" Root path: %s \n", p.Config.Path)
log.Printf(" File types: %s \n", p.Config.FileTypes)
log.Printf(" File names: %s \n", p.Config.FileNames)
log.Printf(" File types with no extension ? %t \n", p.Config.FileTypeNone)
log.Printf(" Exclude dot dirs ? %t \n", p.Config.ExcludeDotDirs)
log.Printf(" Blocking ? %t \n", p.Config.Blocking)
log.Printf(" Verbose ? %t \n", p.Config.Verbose)
log.Printf(" Show logs ? %t \n", p.Config.ShowLogs)
log.Printf(" Max number of files: %d \n", p.Config.MaxFiles)
log.Printf(" Interval: %d seconds \n", p.Config.Interval)
log.Printf(" Script: %s \n", p.Config.Script)
log.Printf(" Web: %t \n", p.Config.Web)
log.Printf(" Number of directories scanned: %d \n", p.Config.ScannedDirs)
log.Printf(" Number of files added and being monitored: %d \n", p.Config.Files)
return errContinue
}
func (p Parser) list(ctx context.Context, log logger.Logr) int {
for _, s := range *p.Storage {
log.Printf("%d (%d updates) %s last modified at %v \n", s.ID, s.Updated, s.Path, s.ModTime)
}
return errContinue
}
func (p Parser) exec(ctx context.Context, log logger.Logr) int {
Exec(p.Config)
return errContinue
}
func (p Parser) start(ctx context.Context, log logger.Logr) int {
for i := range *p.Storage {
(*p.Storage)[i].State <- true
}
if p.Config.Verbose {
log.Printf("+++ monitoring %d files at interval %d seconds \n", p.Config.Files, p.Config.Interval)
}
return errContinue
}
func (p Parser) stop(ctx context.Context, log logger.Logr) int {
for i := range *p.Storage {
(*p.Storage)[i].State <- false
}
if p.Config.Verbose {
log.Printf("+++ stopped monitoring %d files \n", p.Config.Files)
}
return errContinue
}
func (p Parser) debug(ctx context.Context, log logger.Logr) int {
return errContinue
}
func (p Parser) deft(ctx context.Context, log logger.Logr) int {
if p.Config.Verbose {
log.Println("unknown command...")
}
return errContinue
}