This commit is contained in:
@@ -5,17 +5,78 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/flosch/pongo2"
|
||||
"github.com/jinzhu/gorm"
|
||||
"github.com/labstack/echo"
|
||||
)
|
||||
|
||||
func indexHandler(c echo.Context) error {
|
||||
type RequestHandlerSet struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewRequestHandlerSet(db *gorm.DB) *RequestHandlerSet {
|
||||
rhs := new(RequestHandlerSet)
|
||||
rhs.db = db
|
||||
return rhs
|
||||
}
|
||||
|
||||
func (r *RequestHandlerSet) indexHandler(c echo.Context) error {
|
||||
var fpi []HNFrontPage
|
||||
r.db.Where("disappeared is not ?", SQLITE_NULL_DATETIME).Order("disappeared desc").Find(&fpi)
|
||||
|
||||
type fprow struct {
|
||||
Duration string
|
||||
URL string
|
||||
Title string
|
||||
HighestRank uint
|
||||
HNID uint
|
||||
TimeGone string
|
||||
}
|
||||
var fprows []fprow
|
||||
|
||||
for _, item := range fpi {
|
||||
fprows = append(fprows, fprow{
|
||||
Duration: item.Disappeared.Round(time.Minute).Sub(item.Appeared.Round(time.Minute)).String(),
|
||||
URL: item.URL,
|
||||
HNID: item.HNID,
|
||||
Title: item.Title,
|
||||
HighestRank: item.HighestRank,
|
||||
TimeGone: time.Now().Round(time.Minute).Sub(item.Disappeared.Round(time.Minute)).String(),
|
||||
})
|
||||
}
|
||||
|
||||
type rowtwo struct {
|
||||
Duration string
|
||||
URL string
|
||||
Title string
|
||||
HighestRank uint
|
||||
HNID uint
|
||||
Rank uint
|
||||
}
|
||||
var currentfp []rowtwo
|
||||
|
||||
var cur []HNFrontPage
|
||||
r.db.Where("disappeared is ?", SQLITE_NULL_DATETIME).Order("rank asc").Find(&cur)
|
||||
|
||||
for _, item := range cur {
|
||||
currentfp = append(currentfp, rowtwo{
|
||||
Duration: time.Now().Round(time.Minute).Sub(item.Appeared.Round(time.Minute)).String(),
|
||||
URL: item.URL,
|
||||
HNID: item.HNID,
|
||||
Title: item.Title,
|
||||
HighestRank: item.HighestRank,
|
||||
Rank: item.Rank,
|
||||
})
|
||||
}
|
||||
|
||||
tc := pongo2.Context{
|
||||
"time": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
"time": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
"exits": fprows,
|
||||
"current": currentfp,
|
||||
}
|
||||
return c.Render(http.StatusOK, "index.html", tc)
|
||||
}
|
||||
|
||||
func aboutHandler(c echo.Context) error {
|
||||
func (r *RequestHandlerSet) aboutHandler(c echo.Context) error {
|
||||
tc := pongo2.Context{
|
||||
"time": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user