github.com/Ptt-official-app/go-bbs@v0.12.0/pttbbs/pttbss_append_new_line.go (about) 1 package pttbbs 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/Ptt-official-app/go-bbs" 8 ) 9 10 func (c *Connector) AppendBoardArticleFile(filename string, content []byte) error { 11 // TODO: Lockfile 12 13 f, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644) 14 if err != nil { 15 return fmt.Errorf("AppendNewLine: Cannot open file %s, err: %s", filename, err) 16 } 17 defer f.Close() 18 19 _, err = f.Write(content) 20 if err != nil { 21 return fmt.Errorf("AppendNewLine: Write to file (%s) failed, err: %w", filename, err) 22 } 23 return nil 24 } 25 26 func (c *Connector) UpdateArticleRecordFileRecord(filename string, index uint, article bbs.ArticleRecord) error { 27 a, ok := article.(*FileHeader) 28 if !ok { 29 return fmt.Errorf("article should be create with NewArticleRecord or get by ReadArticleRecordFileRecord") 30 } 31 return UpdateFileHeaderFileRecord(filename, index, a) 32 }