oubli : gpg() a aussi besoin de options.

This commit is contained in:
Vincent Le Gallic 2013-07-30 05:17:49 +02:00
parent 517cb1e745
commit 525eca4ff6

View file

@ -79,7 +79,7 @@ GPG_TRUSTLEVELS = {
u"q" : (u"non définie", False), u"q" : (u"non définie", False),
} }
def gpg(command, args=None): def gpg(options, command, args=None):
"""Lance gpg pour la commande donnée avec les arguments """Lance gpg pour la commande donnée avec les arguments
donnés. Renvoie son entrée standard et sa sortie standard.""" donnés. Renvoie son entrée standard et sa sortie standard."""
full_command = [GPG] full_command = [GPG]
@ -319,7 +319,7 @@ def update_keys(options):
keys = all_keys(options) keys = all_keys(options)
_, stdout = gpg("receive-keys", [key for _, key in keys.values() if key]) _, stdout = gpg(options, "receive-keys", [key for _, key in keys.values() if key])
return stdout.read().decode("utf-8") return stdout.read().decode("utf-8")
def check_keys(options, recipients=None, quiet=False): def check_keys(options, recipients=None, quiet=False):
@ -341,7 +341,7 @@ def check_keys(options, recipients=None, quiet=False):
keys = {u : val for (u, val) in keys.iteritems() if u in recipients} keys = {u : val for (u, val) in keys.iteritems() if u in recipients}
if speak: if speak:
print("M : le mail correspond à un uid du fingerprint\nC : confiance OK (inclut la vérification de non expiration).\n") print("M : le mail correspond à un uid du fingerprint\nC : confiance OK (inclut la vérification de non expiration).\n")
_, gpgout = gpg('list-keys') _, gpgout = gpg(options, 'list-keys')
localring = parse_keys(gpgout) localring = parse_keys(gpgout)
for (recipient, (mail, fpr)) in keys.iteritems(): for (recipient, (mail, fpr)) in keys.iteritems():
failed = u"" failed = u""
@ -419,7 +419,7 @@ def encrypt(options, roles, contents):
fpr_recipients.append("-r") fpr_recipients.append("-r")
fpr_recipients.append(fpr) fpr_recipients.append(fpr)
stdin, stdout = gpg("encrypt", fpr_recipients) stdin, stdout = gpg(options, "encrypt", fpr_recipients)
stdin.write(contents.encode("utf-8")) stdin.write(contents.encode("utf-8"))
stdin.close() stdin.close()
out = stdout.read().decode("utf-8") out = stdout.read().decode("utf-8")
@ -428,9 +428,9 @@ def encrypt(options, roles, contents):
else: else:
return [True, out] return [True, out]
def decrypt(contents): def decrypt(options, contents):
"""Déchiffre le contenu""" """Déchiffre le contenu"""
stdin, stdout = gpg("decrypt") stdin, stdout = gpg(options, "decrypt")
stdin.write(contents.encode("utf-8")) stdin.write(contents.encode("utf-8"))
stdin.close() stdin.close()
return stdout.read().decode("utf-8") return stdout.read().decode("utf-8")
@ -539,7 +539,7 @@ def show_file(options):
print(value.encode("utf-8")) # value contient le message d'erreur print(value.encode("utf-8")) # value contient le message d'erreur
return return
passfile = value passfile = value
(sin, sout) = gpg('decrypt') (sin, sout) = gpg(options, 'decrypt')
sin.write(passfile['contents'].encode("utf-8")) sin.write(passfile['contents'].encode("utf-8"))
sin.close() sin.close()
texte = sout.read().decode("utf-8") texte = sout.read().decode("utf-8")
@ -593,7 +593,7 @@ Enregistrez le fichier vide pour annuler.\n"""
return return
else: else:
passfile = value passfile = value
(sin, sout) = gpg('decrypt') (sin, sout) = gpg(options, 'decrypt')
sin.write(passfile['contents'].encode("utf-8")) sin.write(passfile['contents'].encode("utf-8"))
sin.close() sin.close()
texte = sout.read().decode("utf-8") texte = sout.read().decode("utf-8")
@ -693,7 +693,7 @@ def recrypt_files(options):
# On rechiffre # On rechiffre
to_put = [{'filename' : f['filename'], to_put = [{'filename' : f['filename'],
'roles' : f['roles'], 'roles' : f['roles'],
'contents' : encrypt(options, f['roles'], decrypt(f['contents']))} 'contents' : encrypt(options, f['roles'], decrypt(options, f['contents']))}
for f in files] for f in files]
if to_put: if to_put:
if not options.quiet: if not options.quiet: