aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristine Dodrill <xena@yolo-swag.com>2015-06-06 10:16:49 -0700
committerChristine Dodrill <xena@yolo-swag.com>2015-06-06 10:16:49 -0700
commit88b0c6b5a6a151c9be8f49ef5b477c1d4bd0c7c8 (patch)
treed29f6d6554b995db8d80cd8b3496a691fccdde0d
parent5d4e0aae410f4c04bc5e93ce13ef1233b12c360b (diff)
downloadx-88b0c6b5a6a151c9be8f49ef5b477c1d4bd0c7c8.tar.xz
x-88b0c6b5a6a151c9be8f49ef5b477c1d4bd0c7c8.zip
only one file at a time
-rw-r--r--dbupload/main.go144
1 files changed, 69 insertions, 75 deletions
diff --git a/dbupload/main.go b/dbupload/main.go
index 7a6f5b1..cc07cd7 100644
--- a/dbupload/main.go
+++ b/dbupload/main.go
@@ -10,7 +10,6 @@ import (
"log"
"net/http"
"os"
- "path/filepath"
"strings"
"time"
)
@@ -24,7 +23,7 @@ func main() {
flag.Parse()
if flag.NArg() == 0 {
- fmt.Printf("%s: <glob of files to upload>\n", os.Args[0])
+ fmt.Printf("%s: <image to upload>\n", os.Args[0])
fmt.Printf("All files must have a manifest json file.\n")
flag.Usage()
}
@@ -41,82 +40,77 @@ func main() {
panic(err)
}
- images, err := filepath.Glob(flag.Arg(0))
+ image := flag.Arg(0)
+
+ if strings.HasSuffix(image, ".json") {
+ log.Printf("Skipped %s...", image)
+ return
+ }
+
+ metafin, err := os.Open(image + ".json")
+ if err != nil {
+ log.Fatal("image " + image + " MUST have description manifest for derpibooru")
+ }
+ defer metafin.Close()
+
+ metabytes, err := ioutil.ReadAll(metafin)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var meta UploadImage
+ err = json.Unmarshal(metabytes, &meta)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ imfin, err := os.Open(image)
+ if err != nil {
+ log.Fatal("cannot open " + image)
+ }
+ defer imfin.Close()
+
+ if meta.Image.ImageURL == "" {
+ panic("need file uploaded somewhere?")
+ }
+
+ outmetabytes, err := json.Marshal(&meta)
+
+ req, err := http.NewRequest("POST", "https://derpibooru.org/images.json?key="+mydbkey, bytes.NewBuffer(outmetabytes))
if err != nil {
panic(err)
}
- for _, image := range images {
- if strings.HasSuffix(image, ".json") {
- log.Printf("Skipped %s...", image)
- continue
- }
-
- metafin, err := os.Open(image + ".json")
- if err != nil {
- log.Fatal("image " + image + " MUST have description manifest for derpibooru")
- }
- defer metafin.Close()
-
- metabytes, err := ioutil.ReadAll(metafin)
- if err != nil {
- log.Fatal(err)
- }
-
- var meta UploadImage
- err = json.Unmarshal(metabytes, &meta)
- if err != nil {
- log.Fatal(err)
- }
-
- imfin, err := os.Open(image)
- if err != nil {
- log.Fatal("cannot open " + image)
- }
- defer imfin.Close()
-
- if meta.Image.ImageURL == "" {
- panic("need file uploaded somewhere?")
- }
-
- outmetabytes, err := json.Marshal(&meta)
-
- req, err := http.NewRequest("POST", "https://derpibooru.org/images.json?key="+mydbkey, bytes.NewBuffer(outmetabytes))
- if err != nil {
- panic(err)
- }
-
- c := &http.Client{}
-
- req.Header = http.Header{
- "User-Agent": {"Xena's crappy upload tool"},
- "Cookie": {string(cookie)},
- "Content-Type": {"application/json"},
- }
-
- resp, err := c.Do(req)
- if err != nil {
- log.Printf("%#v", err)
- fmt.Printf("Request ID: %s\n", resp.Header.Get("X-Request-Id"))
- continue
- }
-
- if resp.StatusCode != 201 {
- io.Copy(os.Stdout, resp.Body)
- continue
- }
-
- respbytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- log.Println(err)
- continue
- }
-
- var i Image
- json.Unmarshal(respbytes, &i)
-
- fmt.Printf("Uploaded as https://derpibooru.org/%d\n", i.IDNumber)
-
- time.Sleep(20 * time.Second)
+ c := &http.Client{}
+
+ req.Header = http.Header{
+ "User-Agent": {"Xena's crappy upload tool"},
+ "Cookie": {string(cookie)},
+ "Content-Type": {"application/json"},
+ }
+
+ resp, err := c.Do(req)
+ if err != nil {
+ log.Printf("%#v", err)
+ fmt.Printf("Request ID: %s\n", resp.Header.Get("X-Request-Id"))
+ return
}
+
+ if resp.StatusCode != 201 {
+ io.Copy(os.Stdout, resp.Body)
+ return
+ }
+
+ respbytes, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ log.Println(err)
+ return
+ }
+
+ var i Image
+ json.Unmarshal(respbytes, &i)
+
+ fmt.Printf("Uploaded as https://derpibooru.org/%d\n", i.IDNumber)
+
+ time.Sleep(20 * time.Second)
}