about summary refs log tree commit diff
path: root/tools/rfcToKindle/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'tools/rfcToKindle/main.go')
-rw-r--r--tools/rfcToKindle/main.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/tools/rfcToKindle/main.go b/tools/rfcToKindle/main.go
deleted file mode 100644
index 0f4f2dd9ec4f..000000000000
--- a/tools/rfcToKindle/main.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Author: wpcarro@gmail.com
-//
-// Wirelessly transfer RFC documents to your Kindle to device for an alternative
-// medium for reading.
-//
-// Usage:
-// ```shell
-// > go run rfcToKindle.go -document rfc6479 -recipient username@kindle.com
-// ```
-//
-// This uses `sendgmr` to send the file to the Kindle. Make sure:
-// 1. That `sendgmr` is installed and available on $PATH.
-// 2. That it is configured to work with your preferred email address.
-// 3. That the email address `sendgmr` is configured to use is whitelisted in
-//    your Kindle "Personal Document Settings".
-
-package main
-
-import (
-	"flag"
-	"fmt"
-	"io"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"os"
-	"os/exec"
-	"strings"
-)
-
-func main() {
-	document := flag.String("document", "", "(Required) The name of the document to fetch. For example \"RFC6479\".")
-	recipient := flag.String("recipient", "", "(Required) The email address of the Kindle device.")
-	subject := flag.String("subject", "", "(Optional) The email address of the Kindle device.")
-	flag.Parse()
-
-	if *document == "" {
-		// TODO: Is log.Fatal the best function to use here?
-		log.Fatal("-document cannot be empty. See -help for more information.")
-	}
-
-	if *recipient == "" {
-		log.Fatal("-recipient cannot be empty. See -help for more information.")
-	}
-
-	*document = strings.ToLower(*document)
-
-	url := fmt.Sprintf("https://www.ietf.org/rfc/%s.txt", *document)
-	resp, err := http.Get(url)
-	fmt.Printf("Downloading %s ... ", url)
-
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer resp.Body.Close()
-
-	f, err := ioutil.TempFile("", fmt.Sprintf("%s-*.txt", *document))
-	if err != nil {
-		log.Fatal(err)
-	}
-	// TODO: Verify if this is cleaning up or not.
-	defer os.Remove(f.Name())
-
-	_, err = io.Copy(f, resp.Body)
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println("done.")
-
-	if *subject == "" {
-		*subject = fmt.Sprintf("%s - Sent from rfcToKindle.go", *document)
-	}
-
-	// Although I couldn't find it documented anywhere, the email sent to the
-	// Kindle must have a body, even if the body isn't used for anything.
-	fmt.Printf("Emailing %s to %s ... ", f.Name(), *recipient)
-	cmd := exec.Command("sendgmr",
-		fmt.Sprintf("--to=%s", *recipient),
-		fmt.Sprintf("--body_file=%s", f.Name()),
-		fmt.Sprintf("--subject=%s", *subject),
-		fmt.Sprintf("--attachment_files=%s", f.Name()))
-	err = cmd.Run()
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println("done.")
-
-	os.Exit(0)
-}