既に存在しているかどうか確認
このコミットが含まれているのは:
コミット
e4b5c609b5
24
main.go
24
main.go
|
@ -35,12 +35,24 @@ func main () {
|
|||
return
|
||||
} else {
|
||||
if checkprefix(args[1]) {
|
||||
path := mkdirs(args[1], cnf.datapath)
|
||||
// TODO: ページの保存
|
||||
//getpage(args[1], path)
|
||||
// TODO: ページの確認
|
||||
//scanpage(path)
|
||||
fmt.Println(cnf.domain + strings.Replace(path, cnf.datapath, "", 1))
|
||||
exist := checkexist(args[1], cnf.datapath)
|
||||
var confirm string
|
||||
if len(exist) > 0 {
|
||||
fmt.Println("このページが既に保存されているみたいです。")
|
||||
fmt.Println("本当に手続きましょうか? [y/N]")
|
||||
for _, ex := range exist {
|
||||
fmt.Println(strings.Replace(ex, cnf.datapath, cnf.domain, 1))
|
||||
}
|
||||
fmt.Scanf("%s", &confirm)
|
||||
}
|
||||
if len(exist) == 0 || confirm == "y" || confirm == "Y" {
|
||||
path := mkdirs(args[1], cnf.datapath)
|
||||
// TODO: ページの保存
|
||||
//getpage(args[1], path)
|
||||
// TODO: ページの確認
|
||||
//scanpage(path)
|
||||
fmt.Println(cnf.domain + strings.Replace(path, cnf.datapath, "", 1))
|
||||
}
|
||||
return
|
||||
} else {
|
||||
fmt.Println("URLは不正です。終了…")
|
||||
|
|
29
prep.go
29
prep.go
|
@ -5,22 +5,37 @@ import (
|
|||
"time"
|
||||
"fmt"
|
||||
"strings"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
func mkdirs (url string, prefix string) string {
|
||||
rep := ""
|
||||
t := time.Now().Unix()
|
||||
func checkexist (url string, prefix string) []string {
|
||||
res, err := filepath.Glob(prefix + "/archive/*" + url2path(url))
|
||||
if err != nil {
|
||||
fmt.Println("Err:", err)
|
||||
}
|
||||
return res
|
||||
//fmt.Println("Exist?", res)
|
||||
}
|
||||
|
||||
func url2path (url string) string {
|
||||
res := ""
|
||||
if strings.HasPrefix(url, "https:/") {
|
||||
rep = strings.Replace(url, "https:/", "", 1)
|
||||
res = strings.Replace(url, "https:/", "", 1)
|
||||
} else {
|
||||
rep = strings.Replace(url, "http:/", "", 1)
|
||||
res = strings.Replace(url, "http:/", "", 1)
|
||||
}
|
||||
|
||||
if strings.HasSuffix(rep, "/") {
|
||||
rep = strings.TrimSuffix(rep, "/")
|
||||
if strings.HasSuffix(res, "/") {
|
||||
res = strings.TrimSuffix(res, "/")
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
func mkdirs (url string, prefix string) string {
|
||||
rep := url2path(url)
|
||||
t := time.Now().Unix()
|
||||
|
||||
path := fmt.Sprint(prefix, "/archive/", t, rep)
|
||||
cmd := exec.Command("mkdir", "-p", path)
|
||||
|
||||
|
|
4
srv.go
4
srv.go
|
@ -20,6 +20,10 @@ func serv (cnf Config, port int) {
|
|||
|
||||
ftmpl := []string{cnf.webpath + "/view/index.html", cnf.webpath + "/view/header.html", cnf.webpath + "/view/footer.html"}
|
||||
|
||||
/*http.HandleFunc("/exist", func(w http.ResponseWriter, r *http.Request) {
|
||||
data := &Page{Tit: "トップ", Ver: version}
|
||||
})*/
|
||||
|
||||
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||
data := &Page{Tit: "トップ", Ver: version}
|
||||
cookie, err := r.Cookie("lang")
|
||||
|
|
読み込み中…
新しいイシューから参照