1
0
mirror of https://github.com/schollz/cowyo.git synced 2023-08-10 21:13:00 +03:00

Added dump flag

This commit is contained in:
Zack Scholl 2016-03-11 14:11:00 -05:00
parent 53827bf663
commit ee5c701dd0
2 changed files with 31 additions and 0 deletions

11
main.go
View File

@ -45,6 +45,7 @@ func main() {
flag.StringVar(&RuntimeArgs.ServerCRT, "crt", "", "location of ssl crt") flag.StringVar(&RuntimeArgs.ServerCRT, "crt", "", "location of ssl crt")
flag.StringVar(&RuntimeArgs.ServerKey, "key", "", "location of ssl key") flag.StringVar(&RuntimeArgs.ServerKey, "key", "", "location of ssl key")
flag.StringVar(&RuntimeArgs.WikiName, "w", "AwwKoala", "custom name for wiki") flag.StringVar(&RuntimeArgs.WikiName, "w", "AwwKoala", "custom name for wiki")
dumpDataset := flag.Bool("dump", false, "flag to dump all data to 'dump' directory")
flag.CommandLine.Usage = func() { flag.CommandLine.Usage = func() {
fmt.Println(`AwwKoala (version ` + VersionNum + `): A Websocket Wiki and Kind Of A List Application fmt.Println(`AwwKoala (version ` + VersionNum + `): A Websocket Wiki and Kind Of A List Application
run this to start the server and then visit localhost at the port you specify run this to start the server and then visit localhost at the port you specify
@ -57,11 +58,21 @@ Options:`)
flag.CommandLine.PrintDefaults() flag.CommandLine.PrintDefaults()
} }
flag.Parse() flag.Parse()
if *dumpDataset {
fmt.Println("Dumping data to 'dump' folder...")
Open(RuntimeArgs.DatabaseLocation)
dumpEverything()
Close()
os.Exit(1)
}
RuntimeArgs.ExternalIP = flag.Arg(0) RuntimeArgs.ExternalIP = flag.Arg(0)
if RuntimeArgs.ExternalIP == "" { if RuntimeArgs.ExternalIP == "" {
RuntimeArgs.ExternalIP = GetLocalIP() + RuntimeArgs.Port RuntimeArgs.ExternalIP = GetLocalIP() + RuntimeArgs.Port
} }
RuntimeArgs.SourcePath = cwd RuntimeArgs.SourcePath = cwd
Open(RuntimeArgs.DatabaseLocation) Open(RuntimeArgs.DatabaseLocation)
defer Close() defer Close()

View File

@ -5,6 +5,7 @@ import (
"html/template" "html/template"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"os"
"path" "path"
"regexp" "regexp"
"strconv" "strconv"
@ -328,3 +329,22 @@ func listEverything() string {
}) })
return everything return everything
} }
func dumpEverything() {
err := os.MkdirAll("dump", 0777)
if err != nil {
fmt.Println("Already exists")
}
db.View(func(tx *bolt.Tx) error {
// Assume bucket exists and has keys
b := tx.Bucket([]byte("datas"))
c := b.Cursor()
for k, _ := c.First(); k != nil; k, _ = c.Next() {
var p WikiData
p.load(string(k))
fmt.Println(string(k), len(p.CurrentText))
ioutil.WriteFile(path.Join("dump", string(k)+".md"), []byte(p.CurrentText), 0644)
}
return nil
})
}