既に存在しているかどうか確認

このコミットが含まれているのは:
守矢諏訪子 2023-05-11 07:17:45 +09:00
コミット e4b5c609b5
3個のファイルの変更44行の追加13行の削除

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
ファイルの表示

@ -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
ファイルの表示

@ -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")