fixed indexing issues
This commit is contained in:
parent
82ebd0eca7
commit
141ddd99c7
39
comics.go
39
comics.go
|
@ -22,6 +22,16 @@ var db *sql.DB = nil
|
|||
var mediaPath *string = nil
|
||||
var templatesPath *string = nil
|
||||
|
||||
const dbSquema string = `
|
||||
CREATE TABLE IF NOT EXISTS comic (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
datetime DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
title CHAR(50),
|
||||
image CHAR(200),
|
||||
description TEXT,
|
||||
tags TEXT
|
||||
);`
|
||||
|
||||
type Comic struct {
|
||||
ID int
|
||||
DateTime string
|
||||
|
@ -55,18 +65,23 @@ func (e * Err) Error() string {
|
|||
return e.msg
|
||||
}
|
||||
|
||||
var NoSuchComicErr Err = Err{msg: "no such comic Found"}
|
||||
var NoSuchComicErr Err = Err{msg: "no such comic found"}
|
||||
|
||||
func (e * Err) With(i string) Err {
|
||||
return Err{msg:fmt.Sprintf("%s with %s", e.msg, i)}
|
||||
}
|
||||
|
||||
func (c *Comic) readRow(db * sql.Rows) error {
|
||||
return db.Scan(&c.DateTime, &c.Title, &c.Image,
|
||||
return db.Scan(&c.ID, &c.DateTime, &c.Title, &c.Image,
|
||||
&c.Description, &c.Tags)
|
||||
}
|
||||
|
||||
func getComic(id int) (*Comic, error) {
|
||||
c := new(Comic)
|
||||
nferr := NoSuchComicErr.With(fmt.Sprintf("id \"%d\"", id))
|
||||
|
||||
if id < 0 {
|
||||
return c, &NoSuchComicErr
|
||||
return c, &nferr
|
||||
}
|
||||
|
||||
comics, err := allComics()
|
||||
|
@ -74,24 +89,16 @@ func getComic(id int) (*Comic, error) {
|
|||
return c, err
|
||||
}
|
||||
|
||||
if len(comics) <= id || id < 0 {
|
||||
return c, &NoSuchComicErr
|
||||
log.Println(comics)
|
||||
|
||||
if len(comics) <= id {
|
||||
return c, &nferr
|
||||
}
|
||||
|
||||
*c = comics[id]
|
||||
return c, err
|
||||
}
|
||||
|
||||
const dbSquema string = `
|
||||
CREATE TABLE IF NOT EXISTS comic (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
datetime DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
title CHAR(50),
|
||||
image CHAR(200),
|
||||
description TEXT,
|
||||
tags TEXT
|
||||
);`
|
||||
|
||||
func readRows(rows *sql.Rows) ([]Comic, error) {
|
||||
comics := []Comic{}
|
||||
for rows.Next() {
|
||||
|
@ -189,7 +196,7 @@ func comicView(w http.ResponseWriter, r * http.Request) {
|
|||
}
|
||||
|
||||
context.Next = i
|
||||
if i < (len(comics) - 1) {
|
||||
if i < (len(comics)) {
|
||||
context.Next = i + 1
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue