Move function

merge-requests/8/head
Bob Mottram 2020-09-25 13:46:06 +01:00
parent 4627933946
commit 1655a68c7c
3 changed files with 56 additions and 57 deletions

View File

@ -15,7 +15,6 @@ from person import deactivateAccount
from skills import setSkillLevel from skills import setSkillLevel
from roles import setRole from roles import setRole
from webfinger import webfingerHandle from webfinger import webfingerHandle
#from posts import checkDomains
#from posts import getPublicPostDomains #from posts import getPublicPostDomains
#from posts import getPublicPostDomainsBlocked #from posts import getPublicPostDomainsBlocked
from posts import sendBlockViaServer from posts import sendBlockViaServer
@ -36,6 +35,7 @@ import sys
import time import time
from pprint import pprint from pprint import pprint
from daemon import runDaemon from daemon import runDaemon
from follow import checkDomains
from follow import clearFollows from follow import clearFollows
from follow import followerOfPerson from follow import followerOfPerson
from follow import sendFollowRequestViaServer from follow import sendFollowRequestViaServer

View File

@ -25,6 +25,61 @@ from auth import createBasicAuthHeader
from session import postJson from session import postJson
def checkDomains(session, baseDir: str,
nickname: str, domain: str,
proxyType: str, port: int, httpPrefix: str,
debug: bool, projectVersion: str,
maxBlockedDomains: int, singleCheck: bool):
"""Checks follower accounts for references to globally blocked domains
"""
nonMutuals = getNonMutualsOfPerson(baseDir, nickname, domain)
if not nonMutuals:
return
followerWarningFilename = baseDir + '/accounts/followerWarnings.txt'
updateFollowerWarnings = False
followerWarningStr = ''
if os.path.isfile(followerWarningFilename):
with open(followerWarningFilename, 'r') as fp:
followerWarningStr = fp.read()
if singleCheck:
# checks a single random non-mutual
index = random.randrange(0, len(nonMutuals))
domainName = nonMutuals[index]
blockedDomains = \
getPublicPostDomainsBlocked(session, baseDir,
nickname, domain,
proxyType, port, httpPrefix,
debug, projectVersion, [])
if blockedDomains:
if len(blockedDomains) > maxBlockedDomains:
followerWarningStr += domainName + '\n'
updateFollowerWarnings = True
else:
# checks all non-mutuals
for domainName in nonMutuals:
if domainName in followerWarningStr:
continue
blockedDomains = \
getPublicPostDomainsBlocked(session, baseDir,
nickname, domain,
proxyType, port, httpPrefix,
debug, projectVersion, [])
if blockedDomains:
print(domainName)
for d in blockedDomains:
print(' ' + d)
if len(blockedDomains) > maxBlockedDomains:
followerWarningStr += domainName + '\n'
updateFollowerWarnings = True
if updateFollowerWarnings and followerWarningStr:
with open(followerWarningFilename, 'w+') as fp:
fp.write(followerWarningStr)
if not singleCheck:
print(followerWarningStr)
def preApprovedFollower(baseDir: str, def preApprovedFollower(baseDir: str,
nickname: str, domain: str, nickname: str, domain: str,
approveHandle: str) -> bool: approveHandle: str) -> bool:

View File

@ -60,7 +60,6 @@ from filters import isFiltered
from git import convertPostToPatch from git import convertPostToPatch
from jsonldsig import jsonldSign from jsonldsig import jsonldSign
from petnames import resolvePetnames from petnames import resolvePetnames
from follow import getNonMutualsOfPerson
# try: # try:
# from BeautifulSoup import BeautifulSoup # from BeautifulSoup import BeautifulSoup
# except ImportError: # except ImportError:
@ -3332,61 +3331,6 @@ def getPublicPostDomainsBlocked(session, baseDir: str,
return blockedDomains return blockedDomains
def checkDomains(session, baseDir: str,
nickname: str, domain: str,
proxyType: str, port: int, httpPrefix: str,
debug: bool, projectVersion: str,
maxBlockedDomains: int, singleCheck: bool):
"""Checks follower accounts for references to globally blocked domains
"""
nonMutuals = getNonMutualsOfPerson(baseDir, nickname, domain)
if not nonMutuals:
return
followerWarningFilename = baseDir + '/accounts/followerWarnings.txt'
updateFollowerWarnings = False
followerWarningStr = ''
if os.path.isfile(followerWarningFilename):
with open(followerWarningFilename, 'r') as fp:
followerWarningStr = fp.read()
if singleCheck:
# checks a single random non-mutual
index = random.randrange(0, len(nonMutuals))
domainName = nonMutuals[index]
blockedDomains = \
getPublicPostDomainsBlocked(session, baseDir,
nickname, domain,
proxyType, port, httpPrefix,
debug, projectVersion, [])
if blockedDomains:
if len(blockedDomains) > maxBlockedDomains:
followerWarningStr += domainName + '\n'
updateFollowerWarnings = True
else:
# checks all non-mutuals
for domainName in nonMutuals:
if domainName in followerWarningStr:
continue
blockedDomains = \
getPublicPostDomainsBlocked(session, baseDir,
nickname, domain,
proxyType, port, httpPrefix,
debug, projectVersion, [])
if blockedDomains:
print(domainName)
for d in blockedDomains:
print(' ' + d)
if len(blockedDomains) > maxBlockedDomains:
followerWarningStr += domainName + '\n'
updateFollowerWarnings = True
if updateFollowerWarnings and followerWarningStr:
with open(followerWarningFilename, 'w+') as fp:
fp.write(followerWarningStr)
if not singleCheck:
print(followerWarningStr)
def sendCapabilitiesUpdate(session, baseDir: str, httpPrefix: str, def sendCapabilitiesUpdate(session, baseDir: str, httpPrefix: str,
nickname: str, domain: str, port: int, nickname: str, domain: str, port: int,
followerUrl, updateCaps: [], followerUrl, updateCaps: [],