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

Added dump flag

Former-commit-id: 1c5335ec40ce0b7ee52abb71af58bedd5559ee32 [formerly f6c2c21205c5859ae3972a43e6de8086268d9d88] [formerly f4dfec26467d1e2b994aab8305281364b3029986 [formerly 4d3affefbf993978d8e976d6e6ca6f55eff70094 [formerly ee5c701dd0]]]
Former-commit-id: 632facfd569da911dd20b0375b4fede77664e32e [formerly 3dc6dbad5fc4d30880af0961fae01c8fac5a113f]
Former-commit-id: 577ba1fedacb3cc7a0ecc9fca4cadd896398e8cf
Former-commit-id: 12476b03c2
This commit is contained in:
Zack Scholl 2016-03-11 14:11:00 -05:00
parent 4ac3a97d52
commit b6e3f2f440
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
})
}