Skip to content

Commit

Permalink
add default paragraph for not reachable server (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
jan25 authored Jul 7, 2019
1 parent fa3df28 commit c990897
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 8 deletions.
9 changes: 9 additions & 0 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ func GetHistoryFilePath() (string, error) {
return home + TopLevelDir + HistoryFile, nil
}

// GetTopLevelDir returns full path to top level dir
func GetTopLevelDir() (string, error) {
home, err := getHomeDir()
if err != nil {
return "", err
}
return home + TopLevelDir, nil
}

func getHomeDir() (string, error) {
usr, err := user.Current()
if err != nil {
Expand Down
30 changes: 28 additions & 2 deletions lib.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package main

import (
"github.com/jan25/termracer/server/client"
"errors"
"fmt"
"math"
"io/ioutil"
"math"
"os"
"strings"
"time"

"github.com/jan25/termracer/server/client"
)

// CreateFileIfNotExists creates file if not exists
Expand Down Expand Up @@ -89,6 +91,30 @@ func ChooseParagraph() (string, error) {
p, err := client.ChooseParagraph()
if err != nil {
Logger.Info("Error fetching paragraph from server " + err.Error())
Logger.Info("Falling back to default paragraph")
// TODO remove this temporary fix
// returning const paragraph if couldn't reach server
return firstParagraph, nil;
}
return p, nil
}

// GenerateLocalParagraphs checks if samples/use has > 0 paragraphs
// available. If not tries to generate them
func GenerateLocalParagraphs() error {
files, err := ioutil.ReadDir("server/samples/use")
if err != nil {
return errors.New("failed to read use directory")
}
if len(files) == 0 {
// TODO generate paragraphs if none available
}
return nil
}

const firstParagraph = `
She sank more and more into uneasy delirium. At times she shuddered,
turned her eyes from side to side, recognised everyone for a minute,
but at once sank into delirium again. Her breathing was hoarse and
difficult, there was a sort of rattle in her throat.
`
14 changes: 8 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ var (

func initLogger() error {
cfg := zap.NewProductionConfig()
path := "./logs/app.log"
d, _ := GetTopLevelDir()
path := d + "/logs/app.log"

// create logs directory if not exists
dirName := filepath.Dir(path)
Expand Down Expand Up @@ -76,6 +77,9 @@ func ensureDataDirs() error {
if err := CreateDirIfNotExists(s); err != nil {
return err
}
if err := GenerateLocalParagraphs(); err != nil {
return err
}

// ensure racehistory file
rh, err := GetHistoryFilePath()
Expand All @@ -85,20 +89,18 @@ func ensureDataDirs() error {
if err := CreateFileIfNotExists(rh); err != nil {
return err
}
Logger.Info("created racehistory file")

return nil
}

func main() {
if err := initLogger(); err != nil {
if err := ensureDataDirs(); err != nil {
log.Panicln(err)
}
defer Logger.Sync()

if err := ensureDataDirs(); err != nil {
if err := initLogger(); err != nil {
log.Panicln(err)
}
defer Logger.Sync()

gui, err := gocui.NewGui(gocui.OutputNormal)
if err != nil {
Expand Down

0 comments on commit c990897

Please sign in to comment.