Add SAIA feeds, close #2

This commit is contained in:
Lucidiot 2020-07-19 16:12:29 +02:00
parent a1d4c886b9
commit f6af544343
Signed by: lucidiot
GPG Key ID: 3358C1CA6906FB8D
5 changed files with 135 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
feeds
*~
*.sw[a-z]

View File

@ -159,3 +159,32 @@ curl -s 'https://wmsc.gov/oversight/reports/' \
| jq -f $DIR/jq/wmsc.jq \
| json2xml > $DIR/feeds/wmsc.xml.new \
&& mv $DIR/feeds/wmsc.xml.new $DIR/feeds/wmsc.xml
function saia_build {
# saia_build language categoryId title description fileName
log Building $3 feed to $DIR/feeds/saia/$1/$5
mkdir -p $DIR/feeds/saia/$1
local url="https://www.havkom.se/$([ $1 == "en" ] && echo 'en/')utredningar?categoryId=$2&onGoingWithReport=1&sortReportDate=1"
curl -s "$url" \
| pup '.investigation .desc json{}' \
| jq -f $DIR/jq/saia.jq \
--arg title "$3" \
--arg language "$1" \
--arg description "$4" \
--arg link "$url" \
| json2xml > $DIR/feeds/saia/$1/$5.new \
&& mv $DIR/feeds/saia/$1/$5.new $DIR/feeds/saia/$1/$5
}
saia_build en 0 SAIA 'Swedish Accident Investigation Authority English accident reports' all.xml
saia_build en 203 'SAIA Road' 'Swedish Accident Investigation Authority English road accident reports' road.xml
saia_build en 204 'SAIA Rail' 'Swedish Accident Investigation Authority English rail accident reports' rail.xml
saia_build en 202 'SAIA Air' 'Swedish Accident Investigation Authority English aviation accident reports' air.xml
saia_build en 205 'SAIA Marine' 'Swedish Accident Investigation Authority English marine accident reports' marine.xml
saia_build en 206 'SAIA Miltary' 'Swedish Accident Investigation Authority English military accident reports' mil.xml
saia_build sv 0 SHK 'Svenska Statens haverikommission olycksrapporter' all.xml
saia_build sv 203 'SHK Väg' 'Svenska Statens haverikommission Vägtrafik olycksrapporter' road.xml
saia_build sv 204 'SHK Spärbunden' 'Svenska Statens haverikommission Spårbunden trafik olycksrapporter' rail.xml
saia_build sv 202 'SHK Luftfart' 'Svenska Statens haverikommission luftfart olycksrapporter' air.xml
saia_build sv 205 'SHK Sjöfart' 'Svenska Statens haverikommission sjöfart olycksrapporter' marine.xml
saia_build sv 206 'SHK Militär' 'Svenska Statens haverikommission militär olycksrapporter' mil.xml

BIN
img/rss-swedish.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

View File

@ -556,6 +556,75 @@
<td><a href="feeds/wmsc.xml" target="_blank"><img src="img/rss.gif" alt="RSS" /></a></td>
</tr>
</table>
<h3>Swedish Accident Investigation Authority</h3>
<table>
<tr>
<td><strong>Country</strong></td>
<td>Sweden</td>
</tr>
<tr>
<td><strong>Languages</strong></td>
<td>Swedish, English</td>
</tr>
<tr>
<td><strong>Types</strong></td>
<td>Road, rail, aviation, marine, military</td>
</tr>
<tr>
<td><strong>Frequency</strong></td>
<td>30 reports/year</td>
</tr>
<tr>
<td><strong>Feeds</strong></td>
<td>
<table>
<tr>
<td>All types</td>
<td>
<a href="feeds/saia/sv/all.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/all.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
<tr>
<td>Road / Other</td>
<td>
<a href="feeds/saia/sv/road.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/road.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
<tr>
<td>Rail</td>
<td>
<a href="feeds/saia/sv/rail.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/rail.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
<tr>
<td>Aviation</td>
<td>
<a href="feeds/saia/sv/air.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/air.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
<tr>
<td>Marine</td>
<td>
<a href="feeds/saia/sv/marine.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/marine.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
<tr>
<td>Military</td>
<td>
<a href="feeds/saia/sv/mil.xml" target="_blank"><img src="img/rss-swedish.gif" /></a>
<a href="feeds/saia/en/mil.xml" target="_blank"><img src="img/rss-english.gif" /></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>

36
jq/saia.jq Normal file
View File

@ -0,0 +1,36 @@
# SAIA feed generator
# Required arguments:
# $title: Feed title
# $language: ISO 639-1 language code (sv or en)
# $description: Feed description
# $link: Feed link
# Expects pup JSON output holding <div class="desc"> tags, outputs xmltodict-compatible JSON
# WARNING: Dates are locale-sensitive; the RSS feed might not generate correctly with another locale.
{
"rss": {
"@version": "2.0",
"channel": {
"title": $title,
"description": $description,
"link": $link,
"language": ($language + "-SE"),
"pubDate": (now | strftime("%a, %d %b %Y %T %z")),
"docs": "https://cyber.harvard.edu/rss/rss.html",
"ttl": 86400,
"generator": "ITSB",
"item": [.[] | {
"title": .children[0].text,
"description": .children[1].text,
"link": .children[0].href,
"pubDate": (
.children[1].text
| capture("(?:published|Publiceringsdatum)\\s*:\\s*(?<date>[0-9-]+)").date
| strptime("%Y-%m-%d")
| mktime
| strftime("%a, %d %b %Y %T %z")
)
}]
}
}
}