Revert "Unicodification : fix; gestion de messages d'erreur; ajout du CA"

This reverts commit bbc6cb73f6.

Conflicts:
	serverconfig.example.py
This commit is contained in:
Vincent Le Gallic 2013-07-28 01:58:07 +02:00
parent 37db7b58c6
commit 555b6c4c0a
3 changed files with 62 additions and 79 deletions

View file

@ -66,10 +66,10 @@ def getfile(filename):
try:
obj = json.loads(open(filepath).read())
if not validate(obj['roles']):
return [False, u"Vous n'avez pas les droits de lecture sur le fichier %s." % filename]
return [True, obj]
return False
return obj
except IOError:
return [False, u"Le fichier %s n'existe pas." % filename]
return False
def putfile(filename):
@ -81,38 +81,41 @@ def putfile(filename):
roles = parsed_stdin['roles']
contents = parsed_stdin['contents']
except KeyError:
return [False, u"Entrée invalide"]
return False
gotit, old = getfile(filename)
if not gotit:
try:
old = getfile(filename)
oldroles = old['roles']
except TypeError:
old = u"[Création du fichier]"
pass
else:
oldroles = old['roles']
if not validate(oldroles, 'w'):
return [False, u"Vous n'avez pas le droit d'écriture sur %s." % filename]
corps = u"Le fichier %s a été modifié par %s." % (filename, MYUID)
backup(corps, filename, old)
notification(u"Modification de %s" % filename, corps, filename, old)
if not validate(oldroles,'w'):
return False
corps = u"Le fichier %s a été modifié par %s." % (filename, MYUID)
backup(corps, filename, old)
notification(u"Modification de %s" % filename, corps, filename, old)
writefile(filepath, json.dumps({'roles': roles, 'contents': contents}))
return [True, u"Modification effectuée."]
return True
def rmfile(filename):
"""Supprime le fichier filename après avoir vérifié les droits sur le fichier"""
gotit, old = getfile(filename)
if not gotit:
return old # contient le message d'erreur
roles = old['roles']
if validate(roles, 'w'):
corps = u"Le fichier %s a été supprimé par %s." % (filename, MYUID)
backup(corps, filename, old)
notification(u"Suppression de %s" % filename, corps, filename, old)
os.remove(getpath(filename))
try:
old = getfile(filename)
roles = old['roles']
except TypeError:
return True
else:
return u"Vous n'avez pas les droits d'écriture sur le fichier %s." % filename
return u"Suppression effectuée"
if validate(roles,'w'):
corps = u"Le fichier %s a été supprimé par %s." % (filename, MYUID)
backup(corps, filename, old)
notification(u"Suppression de %s" % filename, corps, filename, old)
os.remove(getpath(filename))
else:
return False
return True
def backup(corps, fname, old):
"""Backupe l'ancienne version du fichier"""