Remove unused webfinger aliases

This commit is contained in:
bashrc committed 2021-07-06 14:11:00 +01:00
1 parent 3bf910a9d4
commit 0c8b0964d7
1 file changed
+17
+17
View File
@@ -271,6 +271,10 @@ def _webfingerUpdateFromProfile(wfJson: {}, actorJson: {}) -> bool:
"tox": "toxId"
}
aliasesNotFound = []
for name, _ in webfingerPropertyName.items():
aliasesNotFound.append(name)
for propertyValue in actorJson['attachment']:
if not propertyValue.get('name'):
continue
@@ -278,6 +282,8 @@ def _webfingerUpdateFromProfile(wfJson: {}, actorJson: {}) -> bool:
found = False
for name, alias in webfingerPropertyName.items():
if name == propertyName:
if name in aliasesNotFound:
aliasesNotFound.remove(name)
found = True
break
if not found:
@@ -308,6 +314,17 @@ def _webfingerUpdateFromProfile(wfJson: {}, actorJson: {}) -> bool:
else:
wfJson['aliases'].append(newAlias)
changed = True
# remove any aliases which are no longer in the actor profile
removeAlias = []
for name in aliasesNotFound:
for alias in wfJson['aliases']:
if alias.startswith(name + ':'):
removeAlias.append(alias)
for alias in removeAlias:
wfJson['aliases'].remove(alias)
changed = True
return changed