Creating the news account

main
Bob Mottram 2020-11-24 12:42:33 +00:00
parent 36dad532df
commit c002adccc6
1 changed files with 38 additions and 21 deletions

View File

@ -436,11 +436,17 @@ def createPerson(baseDir: str, nickname: str, domain: str, port: int,
# If a config.json file doesn't exist then don't decrement
# remaining registrations counter
remainingConfigExists = getConfigParam(baseDir, 'registrationsRemaining')
if nickname != 'news':
remainingConfigExists = \
getConfigParam(baseDir, 'registrationsRemaining')
if remainingConfigExists:
registrationsRemaining = int(remainingConfigExists)
if registrationsRemaining <= 0:
return None, None, None, None
else:
if os.path.isdir(baseDir + '/accounts/news@' + domain):
# news account already exists
return None, None, None, None
(privateKeyPem, publicKeyPem,
newPerson, webfingerEndpoint) = createPersonBase(baseDir, nickname,
@ -450,6 +456,7 @@ def createPerson(baseDir: str, nickname: str, domain: str, port: int,
manualFollowerApproval,
password)
if not getConfigParam(baseDir, 'admin'):
if nickname != 'news':
# print(nickname+' becomes the instance admin and a moderator')
setConfigParam(baseDir, 'admin', nickname)
setRole(baseDir, nickname, domain, 'instance', 'admin')
@ -469,18 +476,28 @@ def createPerson(baseDir: str, nickname: str, domain: str, port: int,
fFile.write('\n')
# notify when posts are liked
if nickname != 'news':
notifyLikesFilename = baseDir + '/accounts/' + \
nickname + '@' + domain + '/.notifyLikes'
with open(notifyLikesFilename, 'w+') as nFile:
nFile.write('\n')
theme = getConfigParam(baseDir, 'theme')
if not theme:
theme = 'default'
if nickname != 'news':
if os.path.isfile(baseDir + '/img/default-avatar.png'):
copyfile(baseDir + '/img/default-avatar.png',
baseDir + '/accounts/' + nickname + '@' + domain +
'/avatar.png')
theme = getConfigParam(baseDir, 'theme')
if not theme:
theme = 'default'
else:
newsAvatar = baseDir + '/theme/' + theme + '/icons/avatar_news.png'
if os.path.isfile(newsAvatar):
copyfile(newsAvatar,
baseDir + '/accounts/' + nickname + '@' + domain +
'/avatar.png')
defaultProfileImageFilename = baseDir + '/theme/default/image.png'
if theme:
if os.path.isfile(baseDir + '/theme/' + theme + '/image.png'):
@ -496,7 +513,7 @@ def createPerson(baseDir: str, nickname: str, domain: str, port: int,
if os.path.isfile(defaultBannerFilename):
copyfile(defaultBannerFilename, baseDir + '/accounts/' +
nickname + '@' + domain + '/banner.png')
if remainingConfigExists:
if nickname != 'news' and remainingConfigExists:
registrationsRemaining -= 1
setConfigParam(baseDir, 'registrationsRemaining',
str(registrationsRemaining))
@ -516,8 +533,8 @@ def createNewsInbox(baseDir: str, domain: str, port: int,
httpPrefix: str) -> (str, str, {}, {}):
"""Generates the news inbox
"""
return createPersonBase(baseDir, 'news', domain, port, httpPrefix,
True, True, None)
return createPerson(baseDir, 'news', domain, port,
httpPrefix, True, True, None)
def personUpgradeActor(baseDir: str, personJson: {},