62 lines
1.7 KiB
Go
62 lines
1.7 KiB
Go
/*
|
|
concourse-dsa-resource a Concourse CI resource type to get Debian security update information
|
|
|
|
Copyright Jan Dittberner
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package dsa
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
type rdfItem struct {
|
|
Resource string `xml:"resource,attr"`
|
|
}
|
|
|
|
type rdfSeq struct {
|
|
Items []rdfItem `xml:"http://www.w3.org/1999/02/22-rdf-syntax-ns# li"`
|
|
}
|
|
|
|
type rdfItems struct {
|
|
RdfSeq rdfSeq `xml:"http://www.w3.org/1999/02/22-rdf-syntax-ns# Seq"`
|
|
}
|
|
|
|
type rssChannel struct {
|
|
Title string `xml:"http://purl.org/rss/1.0/ title"`
|
|
Items rdfItems `xml:"http://purl.org/rss/1.0/ items"`
|
|
}
|
|
|
|
type rssItem struct {
|
|
Title string `xml:"http://purl.org/rss/1.0/ title"`
|
|
Link string `xml:"http://purl.org/rss/1.0/ link"`
|
|
Description string `xml:"http://purl.org/rss/1.0/ description,omitempty"`
|
|
Date string `xml:"http://purl.org/dc/elements/1.1/ date"`
|
|
}
|
|
|
|
func (i rssItem) String() string {
|
|
return fmt.Sprintf(
|
|
"Item[Title: %s\nLink: %s\nDate: %s]",
|
|
i.Title,
|
|
i.Link,
|
|
i.Date,
|
|
)
|
|
}
|
|
|
|
type rdfData struct {
|
|
Channel rssChannel `xml:"http://purl.org/rss/1.0/ channel"`
|
|
Items []rssItem `xml:"http://purl.org/rss/1.0/ item"`
|
|
}
|