1
0
Fork 0

For an article added an ID field used to sort the articles by their appearing, rather by a date.

This commit is contained in:
Alexander Andreev 2023-05-23 04:10:50 +04:00
parent 062139185c
commit ef316defd9
Signed by: Arav
GPG Key ID: D22A817D95815393
1 changed files with 8 additions and 5 deletions

View File

@ -3,10 +3,12 @@ package article
import (
"bytes"
"errors"
"strconv"
"time"
)
type Article struct {
ID int64
Title string
Date time.Time
Description string
@ -15,18 +17,19 @@ type Article struct {
func (artcl *Article) ParseMetadata(data []byte) error {
lines := bytes.Split(data, []byte{'\n'})
if len(lines) != 3 {
return errors.New("metadata file is not complete. 3 lines (title, date(DD MM YYYY), descr) should present")
if len(lines) != 4 {
return errors.New("metadata file is not complete. 4 lines (id, title, date(DD MM YYYY), descr) should present")
}
artcl.Title = string(lines[0])
date, err := time.Parse("02 01 2006", string(lines[1]))
artcl.ID, _ = strconv.ParseInt(string(lines[0]), 10, 64)
artcl.Title = string(lines[1])
date, err := time.Parse("02 01 2006", string(lines[2]))
if err != nil {
return err
}
artcl.Date = date
artcl.Description = string(lines[2])
artcl.Description = string(lines[3])
return nil
}