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