Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
4105e9bac1 |
12
Hooks/scripts.d/generate-rss-snippet
Executable file
12
Hooks/scripts.d/generate-rss-snippet
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
firstRSSEntryPy=$(dirname "$0")/../../Python/first_rss_entry.py
|
||||
if [ -d /var/lib/gitea/custom/public/assets/ ] && [ -d ./rss/ ]; then
|
||||
sudo mkdir -p /var/lib/gitea/custom/public/assets/rss-snippets
|
||||
for feed in `find ./rss/ -type f -name '*.xml'`; do
|
||||
feedshort="$(basename "$feed" | sed 's/.xml$//')"
|
||||
python3 "$firstRSSEntryPy" "$feed" > /tmp/${feedshort}
|
||||
sudo mv /tmp/${feedshort} /var/lib/gitea/custom/public/assets/rss-snippets
|
||||
done
|
||||
sudo chown -R gitea: /var/lib/gitea/custom/public/assets/rss-snippets
|
||||
fi
|
21
Python/first_rss_entry.py
Normal file
21
Python/first_rss_entry.py
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
try:
|
||||
tree = ET.parse(sys.argv[1])
|
||||
firstentry = tree.find('{http://www.w3.org/2005/Atom}entry')
|
||||
appliedarr = {}
|
||||
for child in firstentry:
|
||||
shortattr = child.tag.replace('{http://www.w3.org/2005/Atom}','')
|
||||
appliedarr.update({shortattr : child.text})
|
||||
print('<h2>'+appliedarr['title']+'</h2>'
|
||||
+'<p>'+appliedarr['summary']
|
||||
+ ' <br/><br/><b>Updated: ' + appliedarr['updated'] + '</b> '
|
||||
+' <a href="'+appliedarr['id']
|
||||
+ '">Read More</a></p><hr style="margin-top: 50px;" />')
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
sys.exit(1)
|
31
Python/first_rss_entry_url.py
Normal file
31
Python/first_rss_entry_url.py
Normal file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import urllib3
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
http = urllib3.PoolManager()
|
||||
response = http.request('GET',sys.argv[1])
|
||||
|
||||
if response.status == 200:
|
||||
|
||||
try:
|
||||
tree = ET.fromstring(response.data.decode('utf-8'))
|
||||
firstentry = tree.find('{http://www.w3.org/2005/Atom}entry')
|
||||
appliedarr = {}
|
||||
for child in firstentry:
|
||||
shortattr = child.tag.replace('{http://www.w3.org/2005/Atom}','')
|
||||
appliedarr.update({shortattr : child.text})
|
||||
print('<h2>'+appliedarr['title']+'</h2>'
|
||||
+'<p>'+appliedarr['summary']
|
||||
+ ' Updated: ' + appliedarr['updated']
|
||||
+' <a href="'+appliedarr['id']
|
||||
+ '">Read More</a></p><hr style="margin-top: 50px;" />')
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
sys.exit(1)
|
||||
|
||||
else:
|
||||
print('Request failed.')
|
||||
sys.exit(2)
|
Loading…
Reference in New Issue
Block a user