mirror of https://gitlab.com/bashrc2/epicyon
Add jami address to profile
parent
cab122e47d
commit
c9b0d113ab
18
daemon.py
18
daemon.py
|
@ -40,6 +40,8 @@ from ssb import getSSBAddress
|
||||||
from ssb import setSSBAddress
|
from ssb import setSSBAddress
|
||||||
from tox import getToxAddress
|
from tox import getToxAddress
|
||||||
from tox import setToxAddress
|
from tox import setToxAddress
|
||||||
|
from jami import getJamiAddress
|
||||||
|
from jami import setJamiAddress
|
||||||
from matrix import getMatrixAddress
|
from matrix import getMatrixAddress
|
||||||
from matrix import setMatrixAddress
|
from matrix import setMatrixAddress
|
||||||
from donate import getDonationUrl
|
from donate import getDonationUrl
|
||||||
|
@ -3787,6 +3789,18 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
setToxAddress(actorJson, '')
|
setToxAddress(actorJson, '')
|
||||||
actorChanged = True
|
actorChanged = True
|
||||||
|
|
||||||
|
# change jami address
|
||||||
|
currentJamiAddress = getJamiAddress(actorJson)
|
||||||
|
if fields.get('jamiAddress'):
|
||||||
|
if fields['jamiAddress'] != currentJamiAddress:
|
||||||
|
setJamiAddress(actorJson,
|
||||||
|
fields['jamiAddress'])
|
||||||
|
actorChanged = True
|
||||||
|
else:
|
||||||
|
if currentJamiAddress:
|
||||||
|
setJamiAddress(actorJson, '')
|
||||||
|
actorChanged = True
|
||||||
|
|
||||||
# change PGP public key
|
# change PGP public key
|
||||||
currentPGPpubKey = getPGPpubKey(actorJson)
|
currentPGPpubKey = getPGPpubKey(actorJson)
|
||||||
if fields.get('pgp'):
|
if fields.get('pgp'):
|
||||||
|
@ -4747,6 +4761,7 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
matrixAddress = None
|
matrixAddress = None
|
||||||
blogAddress = None
|
blogAddress = None
|
||||||
toxAddress = None
|
toxAddress = None
|
||||||
|
jamiAddress = None
|
||||||
ssbAddress = None
|
ssbAddress = None
|
||||||
emailAddress = None
|
emailAddress = None
|
||||||
actorJson = getPersonFromCache(baseDir,
|
actorJson = getPersonFromCache(baseDir,
|
||||||
|
@ -4760,6 +4775,7 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
ssbAddress = getSSBAddress(actorJson)
|
ssbAddress = getSSBAddress(actorJson)
|
||||||
blogAddress = getBlogAddress(actorJson)
|
blogAddress = getBlogAddress(actorJson)
|
||||||
toxAddress = getToxAddress(actorJson)
|
toxAddress = getToxAddress(actorJson)
|
||||||
|
jamiAddress = getJamiAddress(actorJson)
|
||||||
emailAddress = getEmailAddress(actorJson)
|
emailAddress = getEmailAddress(actorJson)
|
||||||
PGPpubKey = getPGPpubKey(actorJson)
|
PGPpubKey = getPGPpubKey(actorJson)
|
||||||
PGPfingerprint = getPGPfingerprint(actorJson)
|
PGPfingerprint = getPGPfingerprint(actorJson)
|
||||||
|
@ -4775,7 +4791,7 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
pageNumber, donateUrl,
|
pageNumber, donateUrl,
|
||||||
xmppAddress, matrixAddress,
|
xmppAddress, matrixAddress,
|
||||||
ssbAddress, blogAddress,
|
ssbAddress, blogAddress,
|
||||||
toxAddress,
|
toxAddress, jamiAddress,
|
||||||
PGPpubKey, PGPfingerprint,
|
PGPpubKey, PGPfingerprint,
|
||||||
emailAddress).encode('utf-8')
|
emailAddress).encode('utf-8')
|
||||||
self._set_headers('text/html', len(msg),
|
self._set_headers('text/html', len(msg),
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
__filename__ = "jami.py"
|
||||||
|
__author__ = "Bob Mottram"
|
||||||
|
__license__ = "AGPL3+"
|
||||||
|
__version__ = "1.1.0"
|
||||||
|
__maintainer__ = "Bob Mottram"
|
||||||
|
__email__ = "bob@freedombone.net"
|
||||||
|
__status__ = "Production"
|
||||||
|
|
||||||
|
|
||||||
|
def getJamiAddress(actorJson: {}) -> str:
|
||||||
|
"""Returns jami address for the given actor
|
||||||
|
"""
|
||||||
|
if not actorJson.get('attachment'):
|
||||||
|
return ''
|
||||||
|
for propertyValue in actorJson['attachment']:
|
||||||
|
if not propertyValue.get('name'):
|
||||||
|
continue
|
||||||
|
if not propertyValue['name'].lower().startswith('jami'):
|
||||||
|
continue
|
||||||
|
if not propertyValue.get('type'):
|
||||||
|
continue
|
||||||
|
if not propertyValue.get('value'):
|
||||||
|
continue
|
||||||
|
if propertyValue['type'] != 'PropertyValue':
|
||||||
|
continue
|
||||||
|
propertyValue['value'] = propertyValue['value'].strip()
|
||||||
|
if len(propertyValue['value']) < 2:
|
||||||
|
continue
|
||||||
|
if '"' in propertyValue['value']:
|
||||||
|
continue
|
||||||
|
if ' ' in propertyValue['value']:
|
||||||
|
continue
|
||||||
|
if ',' in propertyValue['value']:
|
||||||
|
continue
|
||||||
|
if '.' in propertyValue['value']:
|
||||||
|
continue
|
||||||
|
return propertyValue['value']
|
||||||
|
return ''
|
||||||
|
|
||||||
|
|
||||||
|
def setJamiAddress(actorJson: {}, jamiAddress: str) -> None:
|
||||||
|
"""Sets an jami address for the given actor
|
||||||
|
"""
|
||||||
|
notJamiAddress = False
|
||||||
|
|
||||||
|
if len(jamiAddress) < 2:
|
||||||
|
notJamiAddress = True
|
||||||
|
if '"' in jamiAddress:
|
||||||
|
notJamiAddress = True
|
||||||
|
if ' ' in jamiAddress:
|
||||||
|
notJamiAddress = True
|
||||||
|
if '.' in jamiAddress:
|
||||||
|
notJamiAddress = True
|
||||||
|
if ',' in jamiAddress:
|
||||||
|
notJamiAddress = True
|
||||||
|
|
||||||
|
if not actorJson.get('attachment'):
|
||||||
|
actorJson['attachment'] = []
|
||||||
|
|
||||||
|
# remove any existing value
|
||||||
|
propertyFound = None
|
||||||
|
for propertyValue in actorJson['attachment']:
|
||||||
|
if not propertyValue.get('name'):
|
||||||
|
continue
|
||||||
|
if not propertyValue.get('type'):
|
||||||
|
continue
|
||||||
|
if not propertyValue['name'].lower().startswith('jami'):
|
||||||
|
continue
|
||||||
|
propertyFound = propertyValue
|
||||||
|
break
|
||||||
|
if propertyFound:
|
||||||
|
actorJson['attachment'].remove(propertyFound)
|
||||||
|
if notJamiAddress:
|
||||||
|
return
|
||||||
|
|
||||||
|
for propertyValue in actorJson['attachment']:
|
||||||
|
if not propertyValue.get('name'):
|
||||||
|
continue
|
||||||
|
if not propertyValue.get('type'):
|
||||||
|
continue
|
||||||
|
if not propertyValue['name'].lower().startswith('jami'):
|
||||||
|
continue
|
||||||
|
if propertyValue['type'] != 'PropertyValue':
|
||||||
|
continue
|
||||||
|
propertyValue['value'] = jamiAddress
|
||||||
|
return
|
||||||
|
|
||||||
|
newJamiAddress = {
|
||||||
|
"name": "Jami",
|
||||||
|
"type": "PropertyValue",
|
||||||
|
"value": jamiAddress
|
||||||
|
}
|
||||||
|
actorJson['attachment'].append(newJamiAddress)
|
|
@ -34,6 +34,7 @@ def htmlPersonOptions(defaultTimeline: str,
|
||||||
ssbAddress: str,
|
ssbAddress: str,
|
||||||
blogAddress: str,
|
blogAddress: str,
|
||||||
toxAddress: str,
|
toxAddress: str,
|
||||||
|
jamiAddress: str,
|
||||||
PGPpubKey: str,
|
PGPpubKey: str,
|
||||||
PGPfingerprint: str,
|
PGPfingerprint: str,
|
||||||
emailAddress) -> str:
|
emailAddress) -> str:
|
||||||
|
@ -131,6 +132,9 @@ def htmlPersonOptions(defaultTimeline: str,
|
||||||
if toxAddress:
|
if toxAddress:
|
||||||
optionsStr += \
|
optionsStr += \
|
||||||
'<p class="imText">Tox: ' + toxAddress + '</p>\n'
|
'<p class="imText">Tox: ' + toxAddress + '</p>\n'
|
||||||
|
if jamiAddress:
|
||||||
|
optionsStr += \
|
||||||
|
'<p class="imText">Jami: ' + jamiAddress + '</p>\n'
|
||||||
if PGPfingerprint:
|
if PGPfingerprint:
|
||||||
optionsStr += '<p class="pgp">PGP: ' + \
|
optionsStr += '<p class="pgp">PGP: ' + \
|
||||||
PGPfingerprint.replace('\n', '<br>') + '</p>\n'
|
PGPfingerprint.replace('\n', '<br>') + '</p>\n'
|
||||||
|
|
|
@ -31,6 +31,7 @@ from pgp import getEmailAddress
|
||||||
from pgp import getPGPfingerprint
|
from pgp import getPGPfingerprint
|
||||||
from pgp import getPGPpubKey
|
from pgp import getPGPpubKey
|
||||||
from tox import getToxAddress
|
from tox import getToxAddress
|
||||||
|
from jami import getJamiAddress
|
||||||
from webapp_frontscreen import htmlFrontScreen
|
from webapp_frontscreen import htmlFrontScreen
|
||||||
from webapp_utils import scheduledPostsExist
|
from webapp_utils import scheduledPostsExist
|
||||||
from webapp_utils import getPersonAvatarUrl
|
from webapp_utils import getPersonAvatarUrl
|
||||||
|
@ -436,8 +437,9 @@ def htmlProfile(rssIconAtTop: bool,
|
||||||
matrixAddress = getMatrixAddress(profileJson)
|
matrixAddress = getMatrixAddress(profileJson)
|
||||||
ssbAddress = getSSBAddress(profileJson)
|
ssbAddress = getSSBAddress(profileJson)
|
||||||
toxAddress = getToxAddress(profileJson)
|
toxAddress = getToxAddress(profileJson)
|
||||||
|
jamiAddress = getJamiAddress(profileJson)
|
||||||
if donateUrl or xmppAddress or matrixAddress or \
|
if donateUrl or xmppAddress or matrixAddress or \
|
||||||
ssbAddress or toxAddress or PGPpubKey or \
|
ssbAddress or toxAddress or jamiAddress or PGPpubKey or \
|
||||||
PGPfingerprint or emailAddress:
|
PGPfingerprint or emailAddress:
|
||||||
donateSection = '<div class="container">\n'
|
donateSection = '<div class="container">\n'
|
||||||
donateSection += ' <center>\n'
|
donateSection += ' <center>\n'
|
||||||
|
@ -465,6 +467,10 @@ def htmlProfile(rssIconAtTop: bool,
|
||||||
donateSection += \
|
donateSection += \
|
||||||
'<p>Tox: <label class="toxaddr">' + \
|
'<p>Tox: <label class="toxaddr">' + \
|
||||||
toxAddress + '</label></p>\n'
|
toxAddress + '</label></p>\n'
|
||||||
|
if jamiAddress:
|
||||||
|
donateSection += \
|
||||||
|
'<p>Jami: <label class="toxaddr">' + \
|
||||||
|
jamiAddress + '</label></p>\n'
|
||||||
if PGPfingerprint:
|
if PGPfingerprint:
|
||||||
donateSection += \
|
donateSection += \
|
||||||
'<p class="pgp">PGP: ' + \
|
'<p class="pgp">PGP: ' + \
|
||||||
|
@ -863,6 +869,7 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
ssbAddress = getSSBAddress(actorJson)
|
ssbAddress = getSSBAddress(actorJson)
|
||||||
blogAddress = getBlogAddress(actorJson)
|
blogAddress = getBlogAddress(actorJson)
|
||||||
toxAddress = getToxAddress(actorJson)
|
toxAddress = getToxAddress(actorJson)
|
||||||
|
jamiAddress = getJamiAddress(actorJson)
|
||||||
emailAddress = getEmailAddress(actorJson)
|
emailAddress = getEmailAddress(actorJson)
|
||||||
PGPpubKey = getPGPpubKey(actorJson)
|
PGPpubKey = getPGPpubKey(actorJson)
|
||||||
PGPfingerprint = getPGPfingerprint(actorJson)
|
PGPfingerprint = getPGPfingerprint(actorJson)
|
||||||
|
@ -1194,6 +1201,12 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
editProfileForm += \
|
editProfileForm += \
|
||||||
' <input type="text" name="toxAddress" value="' + \
|
' <input type="text" name="toxAddress" value="' + \
|
||||||
toxAddress + '">\n'
|
toxAddress + '">\n'
|
||||||
|
|
||||||
|
editProfileForm += '<label class="labels">Jami</label><br>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <input type="text" name="jamiAddress" value="' + \
|
||||||
|
jamiAddress + '">\n'
|
||||||
|
|
||||||
editProfileForm += '<label class="labels">' + \
|
editProfileForm += '<label class="labels">' + \
|
||||||
translate['Email'] + '</label><br>\n'
|
translate['Email'] + '</label><br>\n'
|
||||||
editProfileForm += \
|
editProfileForm += \
|
||||||
|
|
Loading…
Reference in New Issue