hozonsite/prep.go

54 行
1.1 KiB
Go
Raw 通常表示 履歴

2023-05-10 22:47:27 +09:00
package main
import (
2023-05-11 12:00:32 +09:00
"os"
2023-05-10 22:47:27 +09:00
"time"
"fmt"
"strings"
"path/filepath"
2023-05-10 22:47:27 +09:00
)
2023-06-27 13:48:35 +09:00
// HTTPかHTTPSの確認
2023-05-12 14:18:37 +09:00
func checkprefix (url string) bool {
return strings.HasPrefix(url, "http://") || strings.HasPrefix(url, "https://")
}
2023-06-27 13:48:35 +09:00
// ページは既に存在するの?
func checkexist (url string, prefix string) []string {
res, err := filepath.Glob(prefix + "/archive/*" + url2path(url))
if err != nil {
fmt.Println("Err:", err)
}
return res
}
2023-05-10 22:47:27 +09:00
2023-06-27 13:48:35 +09:00
// http:/かhttps:/はいらない。最後の「/」は必要
func url2path (url string) string {
res := ""
2023-05-10 22:47:27 +09:00
if strings.HasPrefix(url, "https:/") {
res = strings.Replace(url, "https:/", "", 1)
2023-05-10 22:47:27 +09:00
} else {
res = strings.Replace(url, "http:/", "", 1)
2023-05-10 22:47:27 +09:00
}
if strings.HasSuffix(res, "/") {
res = strings.TrimSuffix(res, "/")
2023-05-10 22:47:27 +09:00
}
return res
}
2023-06-27 13:48:35 +09:00
// 必要なフォルダの創作
func mkdirs (url string, prefix string) string {
rep := url2path(url)
t := time.Now().Unix()
2023-05-10 22:47:27 +09:00
path := fmt.Sprint(prefix, "/archive/", t, rep)
2023-05-11 12:00:32 +09:00
err := os.MkdirAll(path, 0755)
if err != nil {
fmt.Println("失敗:", err)
}
2023-05-10 22:47:27 +09:00
return path
}