Avoid default arguments, which make static analysis harder

merge-requests/30/head
Bob Mottram 2021-10-29 23:26:45 +01:00
parent 5913bf3466
commit 24ac3184b4
8 changed files with 37 additions and 40 deletions

View File

@ -203,7 +203,7 @@ def authorize(baseDir: str, path: str, authHeader: str, debug: bool) -> bool:
return False return False
def createPassword(length: int = 10): def createPassword(length: int):
validChars = 'abcdefghijklmnopqrstuvwxyz' + \ validChars = 'abcdefghijklmnopqrstuvwxyz' + \
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
return ''.join((secrets.choice(validChars) for i in range(length))) return ''.join((secrets.choice(validChars) for i in range(length)))

View File

@ -954,9 +954,9 @@ def _desktopShowBox(indent: str,
yourActor: str, boxName: str, boxJson: {}, yourActor: str, boxName: str, boxJson: {},
translate: {}, translate: {},
screenreader: str, systemLanguage: str, espeak, screenreader: str, systemLanguage: str, espeak,
pageNumber: int = 1, pageNumber: int,
newReplies: bool = False, newReplies: bool,
newDMs: bool = False) -> bool: newDMs: bool) -> bool:
"""Shows online timeline """Shows online timeline
""" """
numberWidth = 2 numberWidth = 2

View File

@ -2101,7 +2101,7 @@ if args.followers:
'Accept': 'application/activity+json; profile="' + profileStr + '"' 'Accept': 'application/activity+json; profile="' + profileStr + '"'
} }
if not personUrl: if not personUrl:
personUrl = getUserUrl(wfRequest) personUrl = getUserUrl(wfRequest, 0, args.debug)
if nickname == domain: if nickname == domain:
personUrl = personUrl.replace('/users/', '/actor/') personUrl = personUrl.replace('/users/', '/actor/')
personUrl = personUrl.replace('/accounts/', '/actor/') personUrl = personUrl.replace('/accounts/', '/actor/')

View File

@ -20,7 +20,7 @@ from utils import hasObjectDict
from utils import acctDir from utils import acctDir
def _validUuid(testUuid: str, version: int = 4): def _validUuid(testUuid: str, version: int):
"""Check if uuid_to_test is a valid UUID """Check if uuid_to_test is a valid UUID
""" """
try: try:
@ -77,7 +77,7 @@ def saveEventPost(baseDir: str, handle: str, postId: str,
if eventJson.get('name') and eventJson.get('actor') and \ if eventJson.get('name') and eventJson.get('actor') and \
eventJson.get('uuid') and eventJson.get('content'): eventJson.get('uuid') and eventJson.get('content'):
if not _validUuid(eventJson['uuid']): if not _validUuid(eventJson['uuid'], 4):
return False return False
print('Mobilizon type event') print('Mobilizon type event')
# if this is a full description of an event then save it # if this is a full description of an event then save it
@ -166,8 +166,8 @@ def _isHappeningPost(postJsonObject: {}) -> bool:
def getTodaysEvents(baseDir: str, nickname: str, domain: str, def getTodaysEvents(baseDir: str, nickname: str, domain: str,
currYear: int = None, currMonthNumber: int = None, currYear: int, currMonthNumber: int,
currDayOfMonth: int = None) -> {}: currDayOfMonth: int) -> {}:
"""Retrieves calendar events for today """Retrieves calendar events for today
Returns a dictionary of lists containing Event and Place activities Returns a dictionary of lists containing Event and Place activities
""" """

View File

@ -365,8 +365,7 @@ def attachMedia(baseDir: str, httpPrefix: str,
return postJson return postJson
def archiveMedia(baseDir: str, archiveDirectory: str, def archiveMedia(baseDir: str, archiveDirectory: str, maxWeeks: int) -> None:
maxWeeks: int = 4) -> None:
"""Any media older than the given number of weeks gets archived """Any media older than the given number of weeks gets archived
""" """
if maxWeeks == 0: if maxWeeks == 0:

View File

@ -132,8 +132,8 @@ def _addNewswireDictEntry(baseDir: str, domain: str,
votesStatus: str, postFilename: str, votesStatus: str, postFilename: str,
description: str, moderated: bool, description: str, moderated: bool,
mirrored: bool, mirrored: bool,
tags: [] = [], tags: [],
maxTags: int = 32) -> None: maxTags: int) -> None:
"""Update the newswire dictionary """Update the newswire dictionary
""" """
# remove any markup # remove any markup
@ -378,7 +378,7 @@ def _xml2StrToDict(baseDir: str, domain: str, xmlStr: str,
title, link, title, link,
votesStatus, postFilename, votesStatus, postFilename,
description, moderated, description, moderated,
mirrored) mirrored, [], 32)
postCtr += 1 postCtr += 1
if postCtr >= maxPostsPerSource: if postCtr >= maxPostsPerSource:
break break
@ -465,7 +465,7 @@ def _xml1StrToDict(baseDir: str, domain: str, xmlStr: str,
title, link, title, link,
votesStatus, postFilename, votesStatus, postFilename,
description, moderated, description, moderated,
mirrored) mirrored, [], 32)
postCtr += 1 postCtr += 1
if postCtr >= maxPostsPerSource: if postCtr >= maxPostsPerSource:
break break
@ -540,7 +540,7 @@ def _atomFeedToDict(baseDir: str, domain: str, xmlStr: str,
title, link, title, link,
votesStatus, postFilename, votesStatus, postFilename,
description, moderated, description, moderated,
mirrored) mirrored, [], 32)
postCtr += 1 postCtr += 1
if postCtr >= maxPostsPerSource: if postCtr >= maxPostsPerSource:
break break
@ -651,7 +651,7 @@ def _jsonFeedV1ToDict(baseDir: str, domain: str, xmlStr: str,
title, link, title, link,
votesStatus, postFilename, votesStatus, postFilename,
description, moderated, description, moderated,
mirrored) mirrored, [], 32)
postCtr += 1 postCtr += 1
if postCtr >= maxPostsPerSource: if postCtr >= maxPostsPerSource:
break break
@ -722,7 +722,8 @@ def _atomFeedYTToDict(baseDir: str, domain: str, xmlStr: str,
result, pubDateStr, result, pubDateStr,
title, link, title, link,
votesStatus, postFilename, votesStatus, postFilename,
description, moderated, mirrored) description, moderated, mirrored,
[], 32)
postCtr += 1 postCtr += 1
if postCtr >= maxPostsPerSource: if postCtr >= maxPostsPerSource:
break break

View File

@ -196,7 +196,7 @@ def _cleanHtml(rawHtml: str) -> str:
return html.unescape(text) return html.unescape(text)
def getUserUrl(wfRequest: {}, sourceId: int = 0, debug: bool = False) -> str: def getUserUrl(wfRequest: {}, sourceId: int, debug: bool) -> str:
"""Gets the actor url from a webfinger request """Gets the actor url from a webfinger request
""" """
if not wfRequest.get('links'): if not wfRequest.get('links'):
@ -3197,7 +3197,7 @@ def sendToFollowersThread(session, baseDir: str,
def createInbox(recentPostsCache: {}, def createInbox(recentPostsCache: {},
session, baseDir: str, nickname: str, domain: str, port: int, session, baseDir: str, nickname: str, domain: str, port: int,
httpPrefix: str, itemsPerPage: int, headerOnly: bool, httpPrefix: str, itemsPerPage: int, headerOnly: bool,
pageNumber: int = None) -> {}: pageNumber: int) -> {}:
return _createBoxIndexed(recentPostsCache, return _createBoxIndexed(recentPostsCache,
session, baseDir, 'inbox', session, baseDir, 'inbox',
nickname, domain, port, httpPrefix, nickname, domain, port, httpPrefix,
@ -3207,7 +3207,7 @@ def createInbox(recentPostsCache: {},
def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str, def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'tlbookmarks', return _createBoxIndexed({}, session, baseDir, 'tlbookmarks',
nickname, domain, nickname, domain,
port, httpPrefix, itemsPerPage, headerOnly, port, httpPrefix, itemsPerPage, headerOnly,
@ -3217,7 +3217,7 @@ def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
def createDMTimeline(recentPostsCache: {}, def createDMTimeline(recentPostsCache: {},
session, baseDir: str, nickname: str, domain: str, session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed(recentPostsCache, return _createBoxIndexed(recentPostsCache,
session, baseDir, 'dm', nickname, session, baseDir, 'dm', nickname,
domain, port, httpPrefix, itemsPerPage, domain, port, httpPrefix, itemsPerPage,
@ -3227,7 +3227,7 @@ def createDMTimeline(recentPostsCache: {},
def createRepliesTimeline(recentPostsCache: {}, def createRepliesTimeline(recentPostsCache: {},
session, baseDir: str, nickname: str, domain: str, session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed(recentPostsCache, session, baseDir, 'tlreplies', return _createBoxIndexed(recentPostsCache, session, baseDir, 'tlreplies',
nickname, domain, port, httpPrefix, nickname, domain, port, httpPrefix,
itemsPerPage, headerOnly, True, itemsPerPage, headerOnly, True,
@ -3236,7 +3236,7 @@ def createRepliesTimeline(recentPostsCache: {},
def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str, def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'tlblogs', nickname, return _createBoxIndexed({}, session, baseDir, 'tlblogs', nickname,
domain, port, httpPrefix, domain, port, httpPrefix,
itemsPerPage, headerOnly, True, itemsPerPage, headerOnly, True,
@ -3245,7 +3245,7 @@ def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str,
def createFeaturesTimeline(session, baseDir: str, nickname: str, domain: str, def createFeaturesTimeline(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'tlfeatures', nickname, return _createBoxIndexed({}, session, baseDir, 'tlfeatures', nickname,
domain, port, httpPrefix, domain, port, httpPrefix,
itemsPerPage, headerOnly, True, itemsPerPage, headerOnly, True,
@ -3254,7 +3254,7 @@ def createFeaturesTimeline(session, baseDir: str, nickname: str, domain: str,
def createMediaTimeline(session, baseDir: str, nickname: str, domain: str, def createMediaTimeline(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, pageNumber: int = None) -> {}: headerOnly: bool, pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'tlmedia', nickname, return _createBoxIndexed({}, session, baseDir, 'tlmedia', nickname,
domain, port, httpPrefix, domain, port, httpPrefix,
itemsPerPage, headerOnly, True, itemsPerPage, headerOnly, True,
@ -3265,7 +3265,7 @@ def createNewsTimeline(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, itemsPerPage: int, port: int, httpPrefix: str, itemsPerPage: int,
headerOnly: bool, newswireVotesThreshold: int, headerOnly: bool, newswireVotesThreshold: int,
positiveVoting: bool, votingTimeMins: int, positiveVoting: bool, votingTimeMins: int,
pageNumber: int = None) -> {}: pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'outbox', 'news', return _createBoxIndexed({}, session, baseDir, 'outbox', 'news',
domain, port, httpPrefix, domain, port, httpPrefix,
itemsPerPage, headerOnly, True, itemsPerPage, headerOnly, True,
@ -3276,7 +3276,7 @@ def createNewsTimeline(session, baseDir: str, nickname: str, domain: str,
def createOutbox(session, baseDir: str, nickname: str, domain: str, def createOutbox(session, baseDir: str, nickname: str, domain: str,
port: int, httpPrefix: str, port: int, httpPrefix: str,
itemsPerPage: int, headerOnly: bool, authorized: bool, itemsPerPage: int, headerOnly: bool, authorized: bool,
pageNumber: int = None) -> {}: pageNumber: int) -> {}:
return _createBoxIndexed({}, session, baseDir, 'outbox', return _createBoxIndexed({}, session, baseDir, 'outbox',
nickname, domain, port, httpPrefix, nickname, domain, port, httpPrefix,
itemsPerPage, headerOnly, authorized, itemsPerPage, headerOnly, authorized,
@ -3285,7 +3285,7 @@ def createOutbox(session, baseDir: str, nickname: str, domain: str,
def createModeration(baseDir: str, nickname: str, domain: str, port: int, def createModeration(baseDir: str, nickname: str, domain: str, port: int,
httpPrefix: str, itemsPerPage: int, headerOnly: bool, httpPrefix: str, itemsPerPage: int, headerOnly: bool,
pageNumber: int = None) -> {}: pageNumber: int) -> {}:
boxDir = createPersonDir(nickname, domain, baseDir, 'inbox') boxDir = createPersonDir(nickname, domain, baseDir, 'inbox')
boxname = 'moderation' boxname = 'moderation'

View File

@ -1219,9 +1219,9 @@ def editTextField(label: str, name: str, value: str = "",
value + '"' + placeholderStr + requiredStr + '>\n' value + '"' + placeholderStr + requiredStr + '>\n'
def editNumberField(label: str, name: str, value: int = 1, def editNumberField(label: str, name: str, value: int,
minValue: int = 1, maxValue: int = 999999, minValue: int, maxValue: int,
placeholder: int = 1) -> str: placeholder: int) -> str:
"""Returns html for editing an integer number field """Returns html for editing an integer number field
""" """
if value is None: if value is None:
@ -1236,9 +1236,8 @@ def editNumberField(label: str, name: str, value: int = 1,
'min="' + str(minValue) + '" max="' + str(maxValue) + '" step="1">\n' 'min="' + str(minValue) + '" max="' + str(maxValue) + '" step="1">\n'
def editCurrencyField(label: str, name: str, value: str = "0.00", def editCurrencyField(label: str, name: str, value: str,
placeholder: str = "0.00", placeholder: str, required: bool) -> str:
required: bool = False) -> str:
"""Returns html for editing a currency field """Returns html for editing a currency field
""" """
if value is None: if value is None:
@ -1258,7 +1257,7 @@ def editCurrencyField(label: str, name: str, value: str = "0.00",
requiredStr + '>\n' requiredStr + '>\n'
def editCheckBox(label: str, name: str, checked: bool = False) -> str: def editCheckBox(label: str, name: str, checked: bool) -> str:
"""Returns html for editing a checkbox field """Returns html for editing a checkbox field
""" """
checkedStr = '' checkedStr = ''
@ -1270,10 +1269,8 @@ def editCheckBox(label: str, name: str, checked: bool = False) -> str:
'name="' + name + '"' + checkedStr + '> ' + label + '<br>\n' 'name="' + name + '"' + checkedStr + '> ' + label + '<br>\n'
def editTextArea(label: str, name: str, value: str = "", def editTextArea(label: str, name: str, value: str,
height: int = 600, height: int, placeholder: str, spellcheck: bool) -> str:
placeholder: str = "",
spellcheck: bool = False) -> str:
"""Returns html for editing a textarea field """Returns html for editing a textarea field
""" """
if value is None: if value is None: