counter per page

This commit is contained in:
Arnas Udovic 2024-07-18 21:34:57 +03:00
parent 459c572439
commit 7a3961bdf5
4 changed files with 26 additions and 7 deletions

23
main.go
View file

@ -136,7 +136,7 @@ func process(_ context.Context, w gemini.ResponseWriter, r *gemini.Request) {
log.Fatal(err) log.Fatal(err)
return return
} }
db.Inc("page_counter_" + defaultLang) db.Inc("page_counter." + defaultLang)
conn, err := grpc.Dial( conn, err := grpc.Dial(
fileSrvHost+":"+fileSrvPort, fileSrvHost+":"+fileSrvPort,
@ -240,10 +240,10 @@ func renderIndex(w gemini.ResponseWriter, client TreeManagerClient) {
if !found { if !found {
} }
pageCounter, found := db.Get("page_counter_" + defaultLang) pageCounter, found := db.Get("page_counter." + defaultLang)
if !found { if !found {
pageCounter = "1" pageCounter = "1"
db.Save("page_counter_"+defaultLang, "1") db.Save("page_counter."+defaultLang, "1")
} }
w.SetMediaType("text/gemini") w.SetMediaType("text/gemini")
@ -437,9 +437,24 @@ func renderFile(w gemini.ResponseWriter, r *gemini.Request, client TreeManagerCl
return return
} }
db, err := zordfsdb.InitDB("./db")
if err != nil {
w.WriteHeader(gemini.StatusTemporaryFailure, "Internal server error")
log.Fatal(err)
return
}
pageCounter, found := db.Get("page_counter." + id)
if !found {
pageCounter = "1"
db.Save("page_counter."+id, "1")
}
w.SetMediaType("text/gemini") w.SetMediaType("text/gemini")
tpl := pongo2.Must(pongo2.FromFile("templates/page.gmi")) tpl := pongo2.Must(pongo2.FromFile("templates/page.gmi"))
page, err := tpl.Execute(pongo2.Context{"lang": defaultLang, "file": file}) page, err := tpl.Execute(
pongo2.Context{"lang": defaultLang, "file": file, "pageCounter": pageCounter},
)
if err != nil { if err != nil {
log.Fatalf("template failed: %v", err) log.Fatalf("template failed: %v", err)
return return

View file

@ -22,5 +22,5 @@ Welcome to my capsule in Gemini space. {{ logo() }}
``` ```
Last build: {{lastRebuild}} Last build: {{lastRebuild}}
Page counter: {{pageCounter}} Total page counter: {{pageCounter}}
``` ```

View file

@ -15,3 +15,7 @@ Language: {{ file.File.Lang }}
{{ category_url(file.File.CategoryPath, file.File.Category|last, 0) }} {{ category_url(file.File.CategoryPath, file.File.Category|last, 0) }}
{{ home(lang) }} {{ home(lang) }}
```
Page counter: {{pageCounter}}
```

View file

@ -23,6 +23,6 @@ Sveikė atvīkėn i mona kapsolė Gemini ertie. {{ logo() }}
=> /s ėiškuok => /s ėiškuok
``` ```
Paskutinis atnaujėnėms: {{lastRebuild}} Last build: {{lastRebuild}}
Lonkītuoju skaitlios: {{pageCounter}} Total page counter: {{pageCounter}}
``` ```