[Nym3-commit] r304 - trunk/nym3/Client

laurent at conuropsis.org laurent at conuropsis.org
Sat Sep 17 15:08:18 CEST 2005


Author: laurent
Date: 2005-09-17 15:08:18 +0200 (Sat, 17 Sep 2005)
New Revision: 304

Modified:
   trunk/nym3/Client/Main.py
Log:
Some more ugly glue with the mixminion binary.


Modified: trunk/nym3/Client/Main.py
===================================================================
--- trunk/nym3/Client/Main.py	2005-07-12 19:53:38 UTC (rev 303)
+++ trunk/nym3/Client/Main.py	2005-09-17 13:08:18 UTC (rev 304)
@@ -29,6 +29,7 @@
 
 import sys
 import os
+import re
 import string
 import binascii
 import termios
@@ -743,7 +744,7 @@
 	    ui.display("Must provide an idTag or a nickname")
 	    sys.exit(1)
 	config = Config.Config() # TODO load from file
-	if options.nickname: nick= options.nickname
+	if options.nickname: nick = options.nickname
 	else:
 	    tm = Account.TagMap(config.path + os.sep + 'tagmap')
 	    nick = tm.nickFromId(options.idtag)
@@ -851,6 +852,28 @@
 	sys.exit(0)
 
 
+def minion_decode(input, output, passphrase):
+    (outr, outw) = os.pipe()
+    (passr, passw) = os.pipe()
+    if os.fork() == 0:
+	sys.stdin.close()
+	os.close(outr)
+	os.close(passw)
+	os.dup2(outw, sys.stderr.fileno())
+	os.execlp("mixminion", "mixminion", "decode", "-i", input, "-o", output,
+		  "--passphrase-fd", repr(passr))
+    else:
+	os.close(passr)
+	os.close(outw)
+	os.write(passw, passphrase)
+	os.close(passw)
+	foo = os.fdopen(outr)
+	out = foo.readlines()
+	foo.close()
+	os.wait()
+	id = re.search("identity '(.*)'", string.join(out)).group(1)
+	return id
+
 if __name__ == '__main__':
     main(sys.argv)
     sys.exit(0)



More information about the Nym3-commit mailing list