File: dublincore.go

package info (click to toggle)
golang-github-mmcdole-gofeed 1.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,468 kB
  • sloc: xml: 2,760; makefile: 3
file content (45 lines) | stat: -rw-r--r-- 2,156 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package ext

// DublinCoreExtension represents a feed extension
// for the Dublin Core specification.
type DublinCoreExtension struct {
	Title       []string `json:"title,omitempty"`
	Creator     []string `json:"creator,omitempty"`
	Author      []string `json:"author,omitempty"`
	Subject     []string `json:"subject,omitempty"`
	Description []string `json:"description,omitempty"`
	Publisher   []string `json:"publisher,omitempty"`
	Contributor []string `json:"contributor,omitempty"`
	Date        []string `json:"date,omitempty"`
	Type        []string `json:"type,omitempty"`
	Format      []string `json:"format,omitempty"`
	Identifier  []string `json:"identifier,omitempty"`
	Source      []string `json:"source,omitempty"`
	Language    []string `json:"language,omitempty"`
	Relation    []string `json:"relation,omitempty"`
	Coverage    []string `json:"coverage,omitempty"`
	Rights      []string `json:"rights,omitempty"`
}

// NewDublinCoreExtension creates a new DublinCoreExtension
// given the generic extension map for the "dc" prefix.
func NewDublinCoreExtension(extensions map[string][]Extension) *DublinCoreExtension {
	dc := &DublinCoreExtension{}
	dc.Title = parseTextArrayExtension("title", extensions)
	dc.Creator = parseTextArrayExtension("creator", extensions)
	dc.Author = parseTextArrayExtension("author", extensions)
	dc.Subject = parseTextArrayExtension("subject", extensions)
	dc.Description = parseTextArrayExtension("description", extensions)
	dc.Publisher = parseTextArrayExtension("publisher", extensions)
	dc.Contributor = parseTextArrayExtension("contributor", extensions)
	dc.Date = parseTextArrayExtension("date", extensions)
	dc.Type = parseTextArrayExtension("type", extensions)
	dc.Format = parseTextArrayExtension("format", extensions)
	dc.Identifier = parseTextArrayExtension("identifier", extensions)
	dc.Source = parseTextArrayExtension("source", extensions)
	dc.Language = parseTextArrayExtension("language", extensions)
	dc.Relation = parseTextArrayExtension("relation", extensions)
	dc.Coverage = parseTextArrayExtension("coverage", extensions)
	dc.Rights = parseTextArrayExtension("rights", extensions)
	return dc
}