Missing argument

merge-requests/8/head
Bob Mottram 2020-10-16 13:11:05 +01:00
parent d4751a47c6
commit 0735ceceb2
1 changed files with 10 additions and 8 deletions

View File

@ -19,6 +19,7 @@ from utils import isSuspended
from utils import containsInvalidChars from utils import containsInvalidChars
from blocking import isBlockedDomain from blocking import isBlockedDomain
def rss2Header(httpPrefix: str, def rss2Header(httpPrefix: str,
nickname: str, domainFull: str, nickname: str, domainFull: str,
title: str, translate: {}) -> str: title: str, translate: {}) -> str:
@ -51,7 +52,7 @@ def rss2Footer() -> str:
return rssStr return rssStr
def xml2StrToDict(xmlStr: str, moderated: bool, def xml2StrToDict(baseDir: str, xmlStr: str, moderated: bool,
maxPostsPerSource: int) -> {}: maxPostsPerSource: int) -> {}:
"""Converts an xml 2.0 string to a dictionary """Converts an xml 2.0 string to a dictionary
""" """
@ -125,7 +126,7 @@ def xml2StrToDict(xmlStr: str, moderated: bool,
return result return result
def atomFeedToDict(xmlStr: str, moderated: bool, def atomFeedToDict(baseDir: str, xmlStr: str, moderated: bool,
maxPostsPerSource: int) -> {}: maxPostsPerSource: int) -> {}:
"""Converts an atom feed string to a dictionary """Converts an atom feed string to a dictionary
""" """
@ -199,18 +200,18 @@ def atomFeedToDict(xmlStr: str, moderated: bool,
return result return result
def xmlStrToDict(xmlStr: str, moderated: bool, def xmlStrToDict(baseDir: str, xmlStr: str, moderated: bool,
maxPostsPerSource: int) -> {}: maxPostsPerSource: int) -> {}:
"""Converts an xml string to a dictionary """Converts an xml string to a dictionary
""" """
if 'rss version="2.0"' in xmlStr: if 'rss version="2.0"' in xmlStr:
return xml2StrToDict(xmlStr, moderated, maxPostsPerSource) return xml2StrToDict(baseDir, xmlStr, moderated, maxPostsPerSource)
elif 'xmlns="http://www.w3.org/2005/Atom"' in xmlStr: elif 'xmlns="http://www.w3.org/2005/Atom"' in xmlStr:
return atomFeedToDict(xmlStr, moderated, maxPostsPerSource) return atomFeedToDict(baseDir, xmlStr, moderated, maxPostsPerSource)
return {} return {}
def getRSS(session, url: str, moderated: bool, def getRSS(baseDir: str, session, url: str, moderated: bool,
maxPostsPerSource: int, maxPostsPerSource: int,
maxFeedSizeKb: int) -> {}: maxFeedSizeKb: int) -> {}:
"""Returns an RSS url as a dict """Returns an RSS url as a dict
@ -238,7 +239,8 @@ def getRSS(session, url: str, moderated: bool,
if result: if result:
if int(len(result.text) / 1024) < maxFeedSizeKb and \ if int(len(result.text) / 1024) < maxFeedSizeKb and \
not containsInvalidChars(result.text): not containsInvalidChars(result.text):
return xmlStrToDict(result.text, moderated, maxPostsPerSource) return xmlStrToDict(baseDir, result.text, moderated,
maxPostsPerSource)
else: else:
print('WARN: feed is too large: ' + url) print('WARN: feed is too large: ' + url)
except requests.exceptions.RequestException as e: except requests.exceptions.RequestException as e:
@ -449,7 +451,7 @@ def getDictFromNewswire(session, baseDir: str,
moderated = True moderated = True
url = url.replace('*', '').strip() url = url.replace('*', '').strip()
itemsList = getRSS(session, url, moderated, itemsList = getRSS(baseDir, session, url, moderated,
maxPostsPerSource, maxFeedSizeKb) maxPostsPerSource, maxFeedSizeKb)
for dateStr, item in itemsList.items(): for dateStr, item in itemsList.items():
result[dateStr] = item result[dateStr] = item