print_function
This commit is contained in:
parent
7dacd6bb1b
commit
a97aa5eea3
2 changed files with 39 additions and 35 deletions
60
client.py
60
client.py
|
@ -8,6 +8,8 @@ Authors : Daniel Stan <daniel.stan@crans.org>
|
|||
Vincent Le Gallic <legallic@crans.org>
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import sys
|
||||
import subprocess
|
||||
import json
|
||||
|
@ -192,7 +194,7 @@ def check_keys():
|
|||
for (mail, fpr) in keys.values():
|
||||
if fpr:
|
||||
if VERB:
|
||||
print (u"Checking %s" % (mail)).encode("utf-8")
|
||||
print((u"Checking %s" % (mail)).encode("utf-8"))
|
||||
corresponds = [key for key in localkeys if key["fingerprint"] == fpr]
|
||||
# On vérifie qu'on possède la clé…
|
||||
if len(corresponds) == 1:
|
||||
|
@ -202,13 +204,13 @@ def check_keys():
|
|||
meaning, trustvalue = GPG_TRUSTLEVELS[correspond["trust"]]
|
||||
# … et qu'on lui fait confiance
|
||||
if not trustvalue:
|
||||
print (u"--> Fail on %s:%s\nLa confiance en la clé est : %s" % (meaning,)).encode("utf-8")
|
||||
print((u"--> Fail on %s:%s\nLa confiance en la clé est : %s" % (meaning,)).encode("utf-8"))
|
||||
failed = True
|
||||
else:
|
||||
print (u"--> Fail on %s:%s\n!! Le fingerprint et le mail ne correspondent pas !" % (fpr, mail)).encode("utf-8")
|
||||
print((u"--> Fail on %s:%s\n!! Le fingerprint et le mail ne correspondent pas !" % (fpr, mail)).encode("utf-8"))
|
||||
failed = True
|
||||
else:
|
||||
print (u"--> Fail on %s:%s\nPas (ou trop) de clé avec ce fingerprint." % (fpr, mail)).encode("utf-8")
|
||||
print((u"--> Fail on %s:%s\nPas (ou trop) de clé avec ce fingerprint." % (fpr, mail)).encode("utf-8"))
|
||||
failed = True
|
||||
return not failed
|
||||
|
||||
|
@ -245,8 +247,8 @@ def encrypt(roles, contents):
|
|||
stdin.close()
|
||||
out = stdout.read().decode("utf-8")
|
||||
if out == '':
|
||||
if VERB:
|
||||
print u"Échec de chiffrement".encode("utf-8")
|
||||
if not QUIET:
|
||||
print(u"Échec de chiffrement".encode("utf-8"))
|
||||
return None
|
||||
else:
|
||||
return out
|
||||
|
@ -265,7 +267,7 @@ def put_password(name, roles, contents):
|
|||
if NROLES != None:
|
||||
roles = NROLES
|
||||
if VERB:
|
||||
print u"Pas de nouveaux rôles".encode("utf-8")
|
||||
print(u"Pas de nouveaux rôles".encode("utf-8"))
|
||||
if enc_pwd <> None:
|
||||
return put_file(name, roles, enc_pwd)
|
||||
else:
|
||||
|
@ -304,7 +306,7 @@ def editor(texte, annotations=u""):
|
|||
|
||||
def show_files():
|
||||
"""Affiche la liste des fichiers disponibles sur le serveur distant"""
|
||||
print u"Liste des fichiers disponibles :".encode("utf-8")
|
||||
print(u"Liste des fichiers disponibles :".encode("utf-8"))
|
||||
my_roles = get_my_roles()
|
||||
files = all_files()
|
||||
keys = files.keys()
|
||||
|
@ -312,21 +314,21 @@ def show_files():
|
|||
for fname in keys:
|
||||
froles = files[fname]
|
||||
access = set(my_roles).intersection(froles) != set([])
|
||||
print (u" %s %s (%s)" % ((access and '+' or '-'), fname, ", ".join(froles))).encode("utf-8")
|
||||
print (u"""--Mes roles: %s""" % (", ".join(my_roles),)).encode("utf-8")
|
||||
print((u" %s %s (%s)" % ((access and '+' or '-'), fname, ", ".join(froles))).encode("utf-8"))
|
||||
print((u"""--Mes roles: %s""" % (", ".join(my_roles),)).encode("utf-8"))
|
||||
|
||||
def show_roles():
|
||||
"""Affiche la liste des roles existants"""
|
||||
print u"Liste des roles disponibles".encode("utf-8")
|
||||
print(u"Liste des roles disponibles".encode("utf-8"))
|
||||
for role in all_roles().keys():
|
||||
if not role.endswith('-w'):
|
||||
print (u" * " + role ).encode("utf-8")
|
||||
print((u" * " + role ).encode("utf-8"))
|
||||
|
||||
def show_servers():
|
||||
"""Affiche la liste des serveurs disponibles"""
|
||||
print u"Liste des serveurs disponibles".encode("utf-8")
|
||||
print(u"Liste des serveurs disponibles".encode("utf-8"))
|
||||
for server in config.servers.keys():
|
||||
print (u" * " + server).encode("utf-8")
|
||||
print((u" * " + server).encode("utf-8"))
|
||||
|
||||
old_clipboard = None
|
||||
def saveclipboard(restore=False):
|
||||
|
@ -359,7 +361,7 @@ def show_file(fname):
|
|||
"""Affiche le contenu d'un fichier"""
|
||||
value = get_file(fname)
|
||||
if value == False:
|
||||
print u"Fichier introuvable".encode("utf-8")
|
||||
print(u"Fichier introuvable".encode("utf-8"))
|
||||
return
|
||||
(sin, sout) = gpg('decrypt')
|
||||
sin.write(value['contents'].encode("utf-8"))
|
||||
|
@ -390,7 +392,7 @@ def edit_file(fname):
|
|||
annotations = u""
|
||||
if value == False:
|
||||
nfile = True
|
||||
print u"Fichier introuvable".encode("utf-8")
|
||||
print(u"Fichier introuvable".encode("utf-8"))
|
||||
if not confirm(u"Créer fichier ?"):
|
||||
return
|
||||
annotations += u"""Ceci est un fichier initial contenant un mot de passe
|
||||
|
@ -402,7 +404,7 @@ Enregistrez le fichier vide pour annuler.\n"""
|
|||
# créateur
|
||||
roles = [ r[:-2] for r in roles if r.endswith('-w') ]
|
||||
if roles == []:
|
||||
print u"Vous ne possédez aucun rôle en écriture ! Abandon.".encode("utf-8")
|
||||
print(u"Vous ne possédez aucun rôle en écriture ! Abandon.".encode("utf-8"))
|
||||
return
|
||||
value = {'roles' : roles}
|
||||
else:
|
||||
|
@ -421,13 +423,13 @@ C'est-à-dire pour les utilisateurs suivants :\n%s""" % (
|
|||
ntexte = editor(texte, annotations)
|
||||
|
||||
if ntexte == None and not nfile and NROLES == None:
|
||||
print u"Pas de modifications effectuées".encode("utf-8")
|
||||
print(u"Pas de modifications effectuées".encode("utf-8"))
|
||||
else:
|
||||
ntexte = texte if ntexte == None else ntexte
|
||||
if put_password(fname, value['roles'], ntexte):
|
||||
print u"Modifications enregistrées".encode("utf-8")
|
||||
print(u"Modifications enregistrées".encode("utf-8"))
|
||||
else:
|
||||
print u"Erreur lors de l'enregistrement (avez-vous les droits suffisants ?)".encode("utf-8")
|
||||
print(u"Erreur lors de l'enregistrement (avez-vous les droits suffisants ?)".encode("utf-8"))
|
||||
|
||||
def confirm(text):
|
||||
"""Demande confirmation, sauf si on est mode ``FORCED``"""
|
||||
|
@ -444,19 +446,19 @@ def remove_file(fname):
|
|||
if not confirm((u'Êtes-vous sûr de vouloir supprimer %s ?' % fname).encode("utf-8")):
|
||||
return
|
||||
if rm_file(fname):
|
||||
print u"Suppression effectuée".encode("utf-8")
|
||||
print(u"Suppression effectuée".encode("utf-8"))
|
||||
else:
|
||||
print u"Erreur de suppression (avez-vous les droits ?)".encode("utf-8")
|
||||
print(u"Erreur de suppression (avez-vous les droits ?)".encode("utf-8"))
|
||||
|
||||
|
||||
def my_check_keys():
|
||||
"""Vérifie les clés et affiche un message en fonction du résultat"""
|
||||
print u"Vérification que les clés sont valides (uid correspondant au login) et de confiance."
|
||||
print (check_keys() and u"Base de clés ok" or u"Erreurs dans la base").encode("utf-8")
|
||||
print(u"Vérification que les clés sont valides (uid correspondant au login) et de confiance.")
|
||||
print((check_keys() and u"Base de clés ok" or u"Erreurs dans la base").encode("utf-8"))
|
||||
|
||||
def my_update_keys():
|
||||
"""Met à jour les clés existantes et affiche le résultat"""
|
||||
print update_keys().encode("utf-8")
|
||||
print(update_keys().encode("utf-8"))
|
||||
|
||||
def recrypt_files():
|
||||
"""Rechiffre les fichiers"""
|
||||
|
@ -471,7 +473,7 @@ def recrypt_files():
|
|||
for (fname, froles) in all_files().iteritems():
|
||||
if set(roles).intersection(froles) == set([]):
|
||||
continue
|
||||
print (u"Rechiffrement de %s" % fname).encode("utf-8")
|
||||
print((u"Rechiffrement de %s" % fname).encode("utf-8"))
|
||||
put_password(fname, froles, get_password(fname))
|
||||
|
||||
def parse_roles(strroles):
|
||||
|
@ -484,10 +486,10 @@ def parse_roles(strroles):
|
|||
writable = False
|
||||
for role in strroles.split(','):
|
||||
if role not in roles.keys():
|
||||
print (u"Le rôle %s n'existe pas !" % role).encode("utf-8")
|
||||
print((u"Le rôle %s n'existe pas !" % role).encode("utf-8"))
|
||||
return False
|
||||
if role.endswith('-w'):
|
||||
print (u"Le rôle %s ne devrait pas être utilisé ! (utilisez %s)"
|
||||
print((u"Le rôle %s ne devrait pas être utilisé ! (utilisez %s)")
|
||||
% (role, role[:-2])).encode("utf-8")
|
||||
return False
|
||||
writable = writable or role in my_roles_w
|
||||
|
@ -565,7 +567,7 @@ if __name__ == "__main__":
|
|||
parsed.action()
|
||||
elif parsed.fname == None:
|
||||
if not QUIET:
|
||||
print u"Vous devez fournir un nom de fichier avec cette commande".encode("utf-8")
|
||||
print(u"Vous devez fournir un nom de fichier avec cette commande".encode("utf-8"))
|
||||
parser.print_help()
|
||||
sys.exit(1)
|
||||
else:
|
||||
|
|
14
server.py
14
server.py
|
@ -3,6 +3,8 @@
|
|||
|
||||
"""Serveur pour cranspasswords"""
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import glob
|
||||
import os
|
||||
import pwd
|
||||
|
@ -163,19 +165,19 @@ if __name__ == "__main__":
|
|||
pass
|
||||
|
||||
if command == "listroles":
|
||||
print json.dumps(listroles())
|
||||
print(json.dumps(listroles()))
|
||||
elif command == "listkeys":
|
||||
print json.dumps(listkeys())
|
||||
print(json.dumps(listkeys()))
|
||||
elif command == "listfiles":
|
||||
print json.dumps(listfiles())
|
||||
print(json.dumps(listfiles()))
|
||||
else:
|
||||
if not filename:
|
||||
sys.exit(1)
|
||||
if command == "getfile":
|
||||
print json.dumps(getfile(filename))
|
||||
print(json.dumps(getfile(filename)))
|
||||
elif command == "putfile":
|
||||
print json.dumps(putfile(filename))
|
||||
print(json.dumps(putfile(filename)))
|
||||
elif command == "rmfile":
|
||||
print json.dumps(rmfile(filename))
|
||||
print(json.dumps(rmfile(filename)))
|
||||
else:
|
||||
sys.exit(1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue