]> Sergey Matveev's repositories - sgblog.git/commitdiff
i items DRY
authorSergey Matveev <stargrave@stargrave.org>
Sun, 15 Mar 2020 11:56:48 +0000 (14:56 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 15 Mar 2020 11:56:48 +0000 (14:56 +0300)
cmd/sgblog/gopher.go

index 2fbbeda1479b110463b9cdac4d4b954eb95ccc85..bcac38ce99f3f435e8b73c42690147203514a96e 100644 (file)
@@ -41,6 +41,10 @@ const CRLF = "\r\n"
 
 var DashLine = strings.Repeat("-", 72)
 
+func makeI(cfg *Cfg, value string) string {
+       return strings.Join([]string{"i"+value, "err", cfg.GopherDomain, "70", CRLF}, "\t")
+}
+
 func serveGopher() {
        cfgPath := os.Args[2]
        cfgRaw, err := ioutil.ReadFile(cfgPath)
@@ -106,11 +110,9 @@ func serveGopher() {
                        }
                        yearCur, monthCur, dayCur := commit.Author.When.Date()
                        if dayCur != dayPrev || monthCur != monthPrev || yearCur != yearPrev {
-                               menu.WriteString(fmt.Sprintf(
-                                       "i%04d-%02d-%02d\tnil\t%s\t%d%s",
-                                       yearCur, monthCur, dayCur,
-                                       cfg.GopherDomain, 70, CRLF,
-                               ))
+                               menu.WriteString(makeI(cfg, fmt.Sprintf(
+                                       "%04d-%02d-%02d", yearCur, monthCur, dayCur,
+                               )))
                                yearPrev, monthPrev, dayPrev = yearCur, monthCur, dayCur
                        }
                        commitN++
@@ -131,13 +133,7 @@ func serveGopher() {
                        ))
                }
 
-               fmt.Printf(
-                       "i%s (%d-%d)\tnil\t%s\t%d%s",
-                       cfg.Title,
-                       offset,
-                       offset+PageEntries,
-                       cfg.GopherDomain, 70, CRLF,
-               )
+               fmt.Print(makeI(cfg, fmt.Sprintf("%s (%d-%d)", cfg.Title, offset, offset+PageEntries)))
                if cfg.AboutURL != "" {
                        fmt.Printf(
                                "hAbout\tURL:%s\t%s\t%d%s",
@@ -164,11 +160,7 @@ func serveGopher() {
                        )
                }
                fmt.Print(menu.String())
-               fmt.Printf(
-                       "iGenerated by: SGBlog %s\terr\t%s\t%d%s",
-                       sgblog.Version,
-                       cfg.GopherDomain, 70, CRLF,
-               )
+               fmt.Printf(makeI(cfg, "Generated by: SGBlog " + sgblog.Version))
                fmt.Print("." + CRLF)
        } else if strings.HasPrefix(selector, "URL:") {
                selector = selector[len("URL:"):]