SVNからのミラー
This commit is contained in:
39
makers.go
Normal file
39
makers.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
)
|
||||
|
||||
func mkstring () string {
|
||||
stringchars := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
|
||||
newstring := ""
|
||||
b := make([]byte, 5)
|
||||
|
||||
// 乱数を生成
|
||||
if _, err := rand.Read(b); err != nil {
|
||||
return "不明なエラー"
|
||||
}
|
||||
|
||||
// ランダムに取り出して文字列を生成
|
||||
for _, v := range b {
|
||||
// index が stringchars の長さに収まるように調整
|
||||
newstring += string(stringchars[int(v)%len(stringchars)])
|
||||
}
|
||||
|
||||
return newstring
|
||||
}
|
||||
|
||||
func insertjson (url string, linkpath string) string {
|
||||
payload := getlinks(linkpath)
|
||||
|
||||
newstring := mkstring()
|
||||
payload[newstring] = url
|
||||
m, _ := json.Marshal(&payload)
|
||||
payload = nil
|
||||
ioutil.WriteFile(linkpath, m, os.ModePerm)
|
||||
|
||||
return newstring
|
||||
}
|
||||
Reference in New Issue
Block a user