40 lines
750 B
Go
40 lines
750 B
Go
|
package feeder
|
||
|
|
||
|
type Item struct {
|
||
|
// RSS and Shared fields
|
||
|
Title string;
|
||
|
Links []Link;
|
||
|
Description string;
|
||
|
Author Author;
|
||
|
Categories []Category;
|
||
|
Comments string;
|
||
|
Enclosures []Enclosure;
|
||
|
Guid string;
|
||
|
PubDate string;
|
||
|
Source Source;
|
||
|
|
||
|
// Atom specific fields
|
||
|
Id string;
|
||
|
Generator Generator;
|
||
|
Contributors []string;
|
||
|
Content Content;
|
||
|
}
|
||
|
|
||
|
func (this *Item) addEnclosure(e Enclosure) {
|
||
|
slice := make([]Enclosure, len(this.Enclosures) + 1);
|
||
|
for i,v := range this.Enclosures {
|
||
|
slice[i] = v;
|
||
|
}
|
||
|
slice[len(slice) - 1] = e;
|
||
|
this.Enclosures = slice;
|
||
|
}
|
||
|
|
||
|
func (this *Item) addLink(l Link) {
|
||
|
slice := make([]Link, len(this.Links) + 1);
|
||
|
for i,v := range this.Links {
|
||
|
slice[i] = v;
|
||
|
}
|
||
|
slice[len(slice) - 1] = l;
|
||
|
this.Links = slice;
|
||
|
}
|