mirror of https://gitlab.com/bashrc2/epicyon
Artist role
parent
a839e914d2
commit
da07855e97
57
daemon.py
57
daemon.py
|
@ -128,6 +128,7 @@ from roles import setRole
|
|||
from roles import clearModeratorStatus
|
||||
from roles import clearEditorStatus
|
||||
from roles import clearCounselorStatus
|
||||
from roles import clearArtistStatus
|
||||
from blog import htmlBlogPageRSS2
|
||||
from blog import htmlBlogPageRSS3
|
||||
from blog import htmlBlogView
|
||||
|
@ -4872,6 +4873,62 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
edNick, domain,
|
||||
'counselor')
|
||||
|
||||
# change site artists list
|
||||
if fields.get('artists'):
|
||||
if path.startswith('/users/' +
|
||||
adminNickname + '/'):
|
||||
artistsFile = \
|
||||
baseDir + \
|
||||
'/accounts/artists.txt'
|
||||
clearArtistStatus(baseDir)
|
||||
if ',' in fields['artists']:
|
||||
# if the list was given as comma separated
|
||||
edFile = open(artistsFile, "w+")
|
||||
eds = fields['artists'].split(',')
|
||||
for edNick in eds:
|
||||
edNick = edNick.strip()
|
||||
edDir = baseDir + \
|
||||
'/accounts/' + edNick + \
|
||||
'@' + domain
|
||||
if os.path.isdir(edDir):
|
||||
edFile.write(edNick + '\n')
|
||||
edFile.close()
|
||||
eds = fields['artists'].split(',')
|
||||
for edNick in eds:
|
||||
edNick = edNick.strip()
|
||||
edDir = baseDir + \
|
||||
'/accounts/' + edNick + \
|
||||
'@' + domain
|
||||
if os.path.isdir(edDir):
|
||||
setRole(baseDir,
|
||||
edNick, domain,
|
||||
'artist')
|
||||
else:
|
||||
# nicknames on separate lines
|
||||
edFile = open(artistsFile, "w+")
|
||||
eds = fields['artists'].split('\n')
|
||||
for edNick in eds:
|
||||
edNick = edNick.strip()
|
||||
edDir = \
|
||||
baseDir + \
|
||||
'/accounts/' + edNick + \
|
||||
'@' + domain
|
||||
if os.path.isdir(edDir):
|
||||
edFile.write(edNick + '\n')
|
||||
edFile.close()
|
||||
eds = fields['artists'].split('\n')
|
||||
for edNick in eds:
|
||||
edNick = edNick.strip()
|
||||
edDir = \
|
||||
baseDir + \
|
||||
'/accounts/' + \
|
||||
edNick + '@' + \
|
||||
domain
|
||||
if os.path.isdir(edDir):
|
||||
setRole(baseDir,
|
||||
edNick, domain,
|
||||
'artist')
|
||||
|
||||
# remove scheduled posts
|
||||
if fields.get('removeScheduledPosts'):
|
||||
if fields['removeScheduledPosts'] == 'on':
|
||||
|
|
13
roles.py
13
roles.py
|
@ -54,6 +54,14 @@ def clearCounselorStatus(baseDir: str) -> None:
|
|||
_clearRoleStatus(baseDir, 'editor')
|
||||
|
||||
|
||||
def clearArtistStatus(baseDir: str) -> None:
|
||||
"""Removes artist status from all accounts
|
||||
This could be slow if there are many users, but only happens
|
||||
rarely when artists are appointed or removed
|
||||
"""
|
||||
_clearRoleStatus(baseDir, 'artist')
|
||||
|
||||
|
||||
def clearModeratorStatus(baseDir: str) -> None:
|
||||
"""Removes moderator status from all accounts
|
||||
This could be slow if there are many users, but only happens
|
||||
|
@ -126,6 +134,8 @@ def _setActorRole(actorJson: {}, roleName: str) -> bool:
|
|||
category = '27-3041.00'
|
||||
elif 'counselor' in roleName:
|
||||
category = '23-1022.00'
|
||||
elif 'artist' in roleName:
|
||||
category = '27-1024.00'
|
||||
if not category:
|
||||
return False
|
||||
|
||||
|
@ -225,7 +235,8 @@ def setRole(baseDir: str, nickname: str, domain: str,
|
|||
roleFiles = {
|
||||
"moderator": "moderators.txt",
|
||||
"editor": "editors.txt",
|
||||
"counselor": "counselors.txt"
|
||||
"counselor": "counselors.txt",
|
||||
"artist": "artists.txt"
|
||||
}
|
||||
|
||||
actorJson = loadJson(actorFilename)
|
||||
|
|
1
tests.py
1
tests.py
|
@ -3706,6 +3706,7 @@ def testRoles() -> None:
|
|||
assert actorHasRole(actorJson, "moderator")
|
||||
assert not actorHasRole(actorJson, "editor")
|
||||
assert not actorHasRole(actorJson, "counselor")
|
||||
assert not actorHasRole(actorJson, "artist")
|
||||
|
||||
|
||||
def runAllTests():
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "إظهار رقم الإصدار داخل البيانات الوصفية للمثيل",
|
||||
"Joined": "تاريخ الانضمام",
|
||||
"City for spoofed GPS image metadata": "مدينة للبيانات الوصفية لصور GPS المخادعة",
|
||||
"Occupation": "الاحتلال"
|
||||
"Occupation": "الاحتلال",
|
||||
"Artists": "الفنانين"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Mostra el número de versió a les metadades de la instància",
|
||||
"Joined": "Data d'unió",
|
||||
"City for spoofed GPS image metadata": "Ciutat per a metadades d'imatges GPS falsificades",
|
||||
"Occupation": "Ocupació"
|
||||
"Occupation": "Ocupació",
|
||||
"Artists": "Artistes"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Dangos rhif y fersiwn o fewn metadata",
|
||||
"Joined": "Dyddiad ymuno",
|
||||
"City for spoofed GPS image metadata": "Dinas ar gyfer metadata delwedd GPS spoofed",
|
||||
"Occupation": "Ngalwedigaeth"
|
||||
"Occupation": "Ngalwedigaeth",
|
||||
"Artists": "Artistiaid"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Versionsnummer in Instanzmetadaten anzeigen",
|
||||
"Joined": "Verbundenes Datum",
|
||||
"City for spoofed GPS image metadata": "Stadt für gefälschte GPS-Bildmetadaten",
|
||||
"Occupation": "Besetzung"
|
||||
"Occupation": "Besetzung",
|
||||
"Artists": "Künstler"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Show version number within instance metadata",
|
||||
"Joined": "Joined",
|
||||
"City for spoofed GPS image metadata": "City for spoofed GPS image metadata",
|
||||
"Occupation": "Occupation"
|
||||
"Occupation": "Occupation",
|
||||
"Artists": "Artists"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Mostrar el número de versión dentro de los metadatos de la instancia",
|
||||
"Joined": "Fecha unida",
|
||||
"City for spoofed GPS image metadata": "Ciudad para metadatos de imagen GPS falsificados",
|
||||
"Occupation": "Ocupación"
|
||||
"Occupation": "Ocupación",
|
||||
"Artists": "Artistas"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Afficher le numéro de version dans les métadonnées de l'instance",
|
||||
"Joined": "Joint",
|
||||
"City for spoofed GPS image metadata": "Ville pour les métadonnées d'image GPS falsifiées",
|
||||
"Occupation": "Occupation"
|
||||
"Occupation": "Occupation",
|
||||
"Artists": "Artistes"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Taispeáin uimhir an leagain laistigh de mheiteashonraí",
|
||||
"Joined": "Dáta comhcheangailte",
|
||||
"City for spoofed GPS image metadata": "Cathair le haghaidh meiteashonraí íomhá GPS spoofed",
|
||||
"Occupation": "Slí bheatha"
|
||||
"Occupation": "Slí bheatha",
|
||||
"Artists": "Ealaíontóirí"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "उदाहरण मेटाडेटा के भीतर संस्करण संख्या दिखाएं",
|
||||
"Joined": "दिनांक",
|
||||
"City for spoofed GPS image metadata": "स्पूफ जीपीएस जीपीएस मेटाडेटा के लिए शहर",
|
||||
"Occupation": "व्यवसाय"
|
||||
"Occupation": "व्यवसाय",
|
||||
"Artists": "कलाकार की"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Mostra il numero di versione nei metadati dell'istanza",
|
||||
"Joined": "Unito",
|
||||
"City for spoofed GPS image metadata": "Città per metadati di immagini GPS falsificate",
|
||||
"Occupation": "Occupazione"
|
||||
"Occupation": "Occupazione",
|
||||
"Artists": "Artiste"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "インスタンスメタデータ内にバージョン番号を表示する",
|
||||
"Joined": "参加日",
|
||||
"City for spoofed GPS image metadata": "なりすましGPS画像メタデータの都市",
|
||||
"Occupation": "職業"
|
||||
"Occupation": "職業",
|
||||
"Artists": "アーティスト"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Di nav metadata mînakê de nimreya guhertoyê nîşan bide",
|
||||
"Joined": "Beşdarbûna Dîrokê",
|
||||
"City for spoofed GPS image metadata": "Bajar ji bo metadata wêneya GPS ya xapînok",
|
||||
"Occupation": "Sinet"
|
||||
"Occupation": "Sinet",
|
||||
"Artists": "Hunermend"
|
||||
}
|
||||
|
|
|
@ -438,5 +438,6 @@
|
|||
"Show version number within instance metadata": "Show version number within instance metadata",
|
||||
"Joined": "Joined",
|
||||
"City for spoofed GPS image metadata": "City for spoofed GPS image metadata",
|
||||
"Occupation": "Occupation"
|
||||
"Occupation": "Occupation",
|
||||
"Artists": "Artists"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Mostrar o número da versão nos metadados da instância",
|
||||
"Joined": "Data juntada",
|
||||
"City for spoofed GPS image metadata": "Cidade para metadados de imagem GPS falsificados",
|
||||
"Occupation": "Ocupação"
|
||||
"Occupation": "Ocupação",
|
||||
"Artists": "Artistas"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "Показать номер версии в метаданных экземпляра",
|
||||
"Joined": "Присоединенная дата",
|
||||
"City for spoofed GPS image metadata": "Город для поддельных метаданных изображения GPS",
|
||||
"Occupation": "Занятие"
|
||||
"Occupation": "Занятие",
|
||||
"Artists": "Художники"
|
||||
}
|
||||
|
|
|
@ -442,5 +442,6 @@
|
|||
"Show version number within instance metadata": "在实例元数据中显示版本号",
|
||||
"Joined": "加入日期",
|
||||
"City for spoofed GPS image metadata": "欺骗性GPS影像元数据的城市",
|
||||
"Occupation": "职业"
|
||||
"Occupation": "职业",
|
||||
"Artists": "艺人"
|
||||
}
|
||||
|
|
|
@ -1500,6 +1500,21 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
|||
counselors + '</textarea>'
|
||||
roleAssignStr += ' </div></details>\n'
|
||||
|
||||
# artists
|
||||
artists = ''
|
||||
artistsFile = baseDir + '/accounts/artists.txt'
|
||||
if os.path.isfile(artistsFile):
|
||||
with open(artistsFile, "r") as f:
|
||||
artists = f.read()
|
||||
roleAssignStr += ' <b><label class="labels">' + \
|
||||
translate['Artists'] + '</label></b><br>\n'
|
||||
roleAssignStr += \
|
||||
' <textarea id="message" name="artists" ' + \
|
||||
'placeholder="" ' + \
|
||||
'style="height:200px" spellcheck="false">' + \
|
||||
artists + '</textarea>'
|
||||
roleAssignStr += ' </div></details>\n'
|
||||
|
||||
# Video section
|
||||
peertubeStr = ' <details><summary class="cw">' + \
|
||||
translate['Video Settings'] + '</summary>\n'
|
||||
|
|
Loading…
Reference in New Issue