forked from indymedia/epicyon
Default hashtag categories per language
parent
4d46817350
commit
931068d4c2
|
@ -231,6 +231,7 @@ from devices import E2EEaddDevice
|
|||
from newswire import getRSSfromDict
|
||||
from newswire import rss2Header
|
||||
from newswire import rss2Footer
|
||||
from newswire import loadHashtagCategories
|
||||
from newsdaemon import runNewswireWatchdog
|
||||
from newsdaemon import runNewswireDaemon
|
||||
from filters import isFiltered
|
||||
|
@ -13149,6 +13150,9 @@ def runDaemon(maxNewswirePosts: int,
|
|||
httpd.restartInboxQueueInProgress = False
|
||||
httpd.restartInboxQueue = False
|
||||
|
||||
print('Adding hashtag categories for language ' + httpd.systemLanguage)
|
||||
loadHashtagCategories(baseDir, httpd.systemLanguage)
|
||||
|
||||
if not unitTest:
|
||||
print('Creating inbox queue watchdog')
|
||||
httpd.thrWatchdog = \
|
||||
|
|
|
@ -0,0 +1,390 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>#categories</title>
|
||||
<item>
|
||||
<title>gafam</title>
|
||||
<description>zuckerberg apple youtube facebook amazon amazonring microsoft twitter skype degoogled google dotcoms deleteyoutube fascistbook FuckGoogle degoogle ring gafam fuckoffgoogle deletefacebook bigtech</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>food</title>
|
||||
<description>vitamind bolognese sourdough vegan tea bread soysauce baking foodwaste coffee</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>cycling</title>
|
||||
<description>bicycle bike Snowbike</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>phones</title>
|
||||
<description>mobileapp fdroid plasmamobile smartphone pinephone mobile ubuntutouch osmand vodafone postmarketos</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>software</title>
|
||||
<description>app freedombox windows libre nginx Framasoft drm kubernetes jami FuckOffZoom docker freesoftware foss nextcloud wechat ikiwiki outreachy selfhosting lyft nitter opensource diaspora cabal conferencing accessibility owncast emacs gemini email chatapps floss deltachat bittorrent zoom gpl FriendofGNOME obnam cryptpad OwnStream mumble grsync irssi mutt backup apps ffmpeg lemmy OSM win10 jitsi libreoffice dino openoffice</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>security</title>
|
||||
<description>encrypt password cryptography infosec gchq cryptowars UseAMaskUseTor cyberattack security tor vpn openssh openssl crypto opsec nsa protonvpn nitrokey openpgp gpg cybersecurity signal noscript openvpn</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>countries</title>
|
||||
<description>chile italy morocco russia belarus uk catalonia greece nigeria american iran scotland turkey spain europe ireland iraq mexico nz france argentina wales kenya eu india europeanunion chinese</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>politics</title>
|
||||
<description>cia wageslavery liberation fascism rojava leftists Socialism ukpol freedom anarchism DefundThePolice bjp election generalstrike digitalfreedom hatespeech fascists peerproduction corporations commons wageslave softwarefreedom socialecology politics nzpol totalitarianism TyskySour Labour decolonization surveillance elections borisjohnson mutuality whitehouse decolonize decenterwhiteness ChineseAppBan modi surveillancecapitalism leftist Revolution ukpolitics migration mutualaid fascist uselection</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>conferences</title>
|
||||
<description>debconf talk FreedomBoxSummit summit minidebconf flossevent conf rC3 flossconf</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>photos</title>
|
||||
<description>nikon photography photo tokyocameraclub photoshop camera picture</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>programming</title>
|
||||
<description>programming css rustlang typescript adventofcode scripting fedidev sourcecode django tuskydev lisp javascript code elisp html rust clojurescript racket python</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>activitypub</title>
|
||||
<description>activitypub pleroma fedilab mastotips misskey siskin followers pixelfed monal tusky peertubers feditips fedizens epicyon mastomagic pixeldev fediverse mastodon peertube mobilizon</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>news</title>
|
||||
<description>news</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>games</title>
|
||||
<description>minecraft TetrisGore gaming</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>cats</title>
|
||||
<description>dailycatpic DailyCatVid</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>music</title>
|
||||
<description>punk bandcamp musicians mp3 thecure vaporwave dubstep synthwave experimentalmusic dj newwave dorkwave producing NowPlaying libremusicproduction MusicAdvent synth music fediversemusic cyberpunkmusic BandcampFriday</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>indymedia</title>
|
||||
<description>visionontv indymediaback omn 4opens</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>places</title>
|
||||
<description>dublin hannover hamburg ipswich paris tokyo london oakland nürnberg munich essex minsk nyc montreal lesbos sahara</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>questions</title>
|
||||
<description>askmastodon askfosstodon</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>birds</title>
|
||||
<description>RainbowBeeEater bird</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>ethics</title>
|
||||
<description>digitalethics</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>internet</title>
|
||||
<description>redecentralize rtmp decentralization decentralize w3c torrent data icann dns openstandards oauth SmallWeb xmpp semanticweb ntp socialnetworks jabber decentralized darknet cookies darkweb server browser p2p web twitch domain browsers openculture internet openweb socialweb cloudflare</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>retro</title>
|
||||
<description>atarist teletext floppydisk retrocomputing 80s z80 amiga</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>years</title>
|
||||
<description>Year2020</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>pets</title>
|
||||
<description>catofmastodon catbehaviour cats kittens dog caturday catsofmastodon cute dogs cat catcontent</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>podcasts</title>
|
||||
<description>IntergalacticWasabiHour podcast tilderadio</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>events</title>
|
||||
<description>live followfriday livestream InternationalCheetahDay</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>gender</title>
|
||||
<description>transwomen transcrowdfund female trans women estradiol woman transrights</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>hardware</title>
|
||||
<description>keyboards modem keyboard cybredeck thinkpad</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>linux</title>
|
||||
<description>mobian openwrt distros wireguard linuxaudio gtk debian trisquel ubuntu xubuntu fedora distro qubesos linux btrfs</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>fiction</title>
|
||||
<description>cyberpunk thehobbit fiction</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>audio</title>
|
||||
<description>audioproduction audiofeedback</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>bots</title>
|
||||
<description>bot</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>climate</title>
|
||||
<description>clouds weather</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>books</title>
|
||||
<description>earthsea ebooks ebook epub</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>scifi</title>
|
||||
<description>startrek starwars</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>pandemic</title>
|
||||
<description>CoronaWarnApp facemasks vaccines vaccine covid Lockdown codid19 COVID19 COVID</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>religion</title>
|
||||
<description>pagan</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>science</title>
|
||||
<description>supercollider paleontology</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>nature</title>
|
||||
<description>trees nature</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>fashion</title>
|
||||
<description>bras fashion patches</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>art</title>
|
||||
<description>krita adultcolouring collage MastoArt digitalart mandala concretepoetry artwithopensource</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>techbros</title>
|
||||
<description>hackernews reddit</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>moderation</title>
|
||||
<description>fedblock</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>election</title>
|
||||
<description>voted vote</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>#music</title>
|
||||
<description>trance</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>activism</title>
|
||||
<description>fsfe xr eff openrightsgroup fsf conservancy</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>crafts</title>
|
||||
<description>knitting makers</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>gardening</title>
|
||||
<description>DailyFlowers flowers gardening</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>education</title>
|
||||
<description>education tutorial</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>seasons</title>
|
||||
<description>winter</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>radio</title>
|
||||
<description>hamradio</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>microcontroller</title>
|
||||
<description>microcontroller</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>comedy</title>
|
||||
<description>satire irony</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>privacy</title>
|
||||
<description>privacymatters dataprivacy privacy</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>environment</title>
|
||||
<description>climatechange climatechaos</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>#software</title>
|
||||
<description>flatpak</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>scotland</title>
|
||||
<description>highlands</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>microcontrollers</title>
|
||||
<description>esp8266 esp32</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>health</title>
|
||||
<description>meds</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>astronomy</title>
|
||||
<description>moon milkyway</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>travel</title>
|
||||
<description>travel taxi</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>help</title>
|
||||
<description>help</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>funding</title>
|
||||
<description>patreon</description>
|
||||
<link/>
|
||||
<pubDate>Sat, 05 Dec 2020 13:30:17 UT</pubDate>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
19
newswire.py
19
newswire.py
|
@ -203,7 +203,22 @@ def parseFeedDate(pubDate: str) -> str:
|
|||
return pubDateStr
|
||||
|
||||
|
||||
def xml2StrToHashtagCategories(baseDir: str, domain: str, xmlStr: str,
|
||||
def loadHashtagCategories(baseDir: str, language: str) -> None:
|
||||
"""Loads an rss file containing hashtag categories
|
||||
"""
|
||||
hashtagCategoriesFilename = baseDir + '/categories.xml'
|
||||
if not os.path.isfile(hashtagCategoriesFilename):
|
||||
hashtagCategoriesFilename = \
|
||||
baseDir + '/defaultcategories/' + language + '.xml'
|
||||
if not os.path.isfile(hashtagCategoriesFilename):
|
||||
return
|
||||
|
||||
with open(hashtagCategoriesFilename, 'r') as fp:
|
||||
xmlStr = fp.read()
|
||||
xml2StrToHashtagCategories(baseDir, xmlStr, 1024)
|
||||
|
||||
|
||||
def xml2StrToHashtagCategories(baseDir: str, xmlStr: str,
|
||||
maxCategoriesFeedItemSizeKb: int) -> None:
|
||||
"""Updates hashtag categories based upon an rss feed
|
||||
"""
|
||||
|
@ -252,7 +267,7 @@ def xml2StrToDict(baseDir: str, domain: str, xmlStr: str,
|
|||
return {}
|
||||
result = {}
|
||||
if '<title>#categories</title>' in xmlStr:
|
||||
xml2StrToHashtagCategories(baseDir, domain, xmlStr,
|
||||
xml2StrToHashtagCategories(baseDir, xmlStr,
|
||||
maxCategoriesFeedItemSizeKb)
|
||||
return {}
|
||||
rssItems = xmlStr.split('<item>')
|
||||
|
|
Loading…
Reference in New Issue