big code cleanup

master
Carlo Strub 7 years ago
parent 14d7ba2cf2
commit cf598f8710

@ -29,6 +29,11 @@ test:
${SISYPHUS_GO_EXECUTABLE} get -u github.com/onsi/gomega
${GOPATH}/bin/ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --progress
static-test:
${SISYPHUS_GO_EXECUTABLE} get -u github.com/alecthomas/gometalinter
${GOPATH}/bin/gometalinter --install
${GOPATH}/bin/gometalinter --vendor --deadline=5m --disable-all --enable=gas --enable=goconst --enable=gocyclo --enable=unused --enable=interfacer --enable=lll --enable=misspell --enable=staticcheck --enable=aligncheck --enable=deadcode --enable=goimports --enable=ineffassign --enable=unconvert --enable=unparam --enable=varcheck --enable=dupl --enable=errcheck --enable=golint --enable=structcheck --enable=gosimple --enable=safesql --tests --json . > gometalinter.out
integration-test:
${SISYPHUS_GO_EXECUTABLE} build
./sisyphus run

@ -30,9 +30,9 @@ func (p Pidfile) savePID(process int) error {
return err
}
file.Sync()
err = file.Sync()
return nil
return err
}
// DaemonStart starts sisyphus as a backgound process
@ -43,10 +43,13 @@ func (p Pidfile) DaemonStart() error {
}
cmd := exec.Command(os.Args[0], "run")
cmd.Start()
err := cmd.Start()
if err != nil {
return err
}
log.Printf("starting sisyphus process ID [%v]\n", cmd.Process.Pid)
log.Println("sisyphus started")
err := (p).savePID(cmd.Process.Pid)
err = (p).savePID(cmd.Process.Pid)
return err
}
@ -77,7 +80,10 @@ func (p Pidfile) DaemonStop() error {
}
// remove PID file
os.Remove(string(p))
err = os.Remove(string(p))
if err != nil {
return err
}
log.Printf("stopping sisyphus process ID [%v]\n", processID)
// kill process and exit immediately

@ -20,10 +20,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
// Create DB bucket for the map of processed e-mail IDs
err = db.Update(func(tx *bolt.Tx) error {
_, err := tx.CreateBucketIfNotExists([]byte("Processed"))
if err != nil {
return err
}
return nil
return err
})
if err != nil {
return db, err
@ -33,10 +30,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
err = db.Update(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte("Processed"))
_, err := b.CreateBucketIfNotExists([]byte("Mails"))
if err != nil {
return err
}
return nil
return err
})
if err != nil {
return db, err
@ -46,10 +40,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
err = db.Update(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte("Processed"))
_, err := b.CreateBucketIfNotExists([]byte("Counters"))
if err != nil {
return err
}
return nil
return err
})
if err != nil {
return db, err
@ -58,10 +49,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
// Create DB bucket for word lists
err = db.Update(func(tx *bolt.Tx) error {
_, err := tx.CreateBucketIfNotExists([]byte("Wordlists"))
if err != nil {
return err
}
return nil
return err
})
if err != nil {
return db, err
@ -71,10 +59,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
err = db.Update(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte("Wordlists"))
_, err := b.CreateBucketIfNotExists([]byte("Junk"))
if err != nil {
return err
}
return nil
return err
})
if err != nil {
return db, err
@ -84,10 +69,7 @@ func OpenDB(maildir string) (db *bolt.DB, err error) {
err = db.Update(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte("Wordlists"))
_, err := b.CreateBucketIfNotExists([]byte("Good"))
if err != nil {
return err
}
return nil
return err
})
log.Println("database loaded")

@ -34,17 +34,23 @@ type Mail struct {
}
// CreateDirs creates all the required dirs -- if not already there.
func (d Maildir) CreateDirs() {
func (d Maildir) CreateDirs() error {
dir := string(d)
log.Println("create missing directories for Maildir " + dir)
os.MkdirAll(dir+"/.Junk/cur", 0700)
os.MkdirAll(dir+"/new", 0700)
os.MkdirAll(dir+"/cur", 0700)
err := os.MkdirAll(dir+"/.Junk/cur", 0700)
if err != nil {
return err
}
err = os.MkdirAll(dir+"/new", 0700)
if err != nil {
return err
}
err = os.MkdirAll(dir+"/cur", 0700)
return
return err
}
// Index loads all mail keys from the Maildir directory for processing.
@ -167,6 +173,9 @@ func wordlist(s string) (l []string) {
raw := strings.Split(s, " ")
var clean []string
// use regexp compile for use in the loop that follows
regexMatcher, _ := regexp.Compile("(^[a-z]+$)")
for _, w := range raw {
// no long or too short words
@ -176,7 +185,7 @@ func wordlist(s string) (l []string) {
}
// no numbers, special characters, etc. -- only words
match, _ := regexp.MatchString("(^[a-z]+$)", w)
match := regexMatcher.MatchString(w)
if !match {
continue
} else {

Loading…
Cancel
Save