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 [formerlyee5c701dd0
]]] Former-commit-id: 632facfd569da911dd20b0375b4fede77664e32e [formerly 3dc6dbad5fc4d30880af0961fae01c8fac5a113f] Former-commit-id: 577ba1fedacb3cc7a0ecc9fca4cadd896398e8cf Former-commit-id:12476b03c2
This commit is contained in:
parent
4ac3a97d52
commit
b6e3f2f440
11
main.go
11
main.go
@ -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()
|
||||||
|
|
||||||
|
20
routes.go
20
routes.go
@ -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
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user