pyme review

Bernhard Reiter bernhard at intevation.de
Tue Mar 4 23:32:10 CET 2008


Igor,

On Tuesday 08 January 2008 15:04, Igor Belyi wrote:
> > at some point in time we will give it a shot with pyme and then you
> > will get reports. ;)

congratulations on pyme!
I gave it a spin and found it to be a usable piece of software
and a capable gpgme wrapper!

I even used it to write a test script for a gpgme defect,
see https://bugs.g10code.com/gnupg/issue876.
I am attaching this and another script which are Free Software.
Feel free to include it in the examples or somewhere else.

> I'd recommend to start with examples provided with pyme. There's even
> some Glade based GUI ones if you like that sort of things. :)

Yes, the pygpa is quite impressive. 
It lacks a bit of icons, though and some of the funcationality... :)

> And as for the reports - Bring them on! ;)

A few things that I have noticed.

a) the use of check_version() is mandatory according to the gpgme 
documentation. (See section 2.6 Library Version Check).
Your example applications fail to do it. This is a serious problem in my view.

b) Some documentation links in the Debian package's html files just lead 
nowhere. A nice to have thing.

c) It would be much more pythonic to use named parameter with default values
for functions. It just feels wrong at places to write

  from pyme import core
  print "gpgme version:", core.check_version(None)
where core.check_version() should just do the job.
There are quite a few places where this would make the wrapper more usable,
because the using code will we more python-style.

d) In many places the return values really should be sequence, maybe lists or 
tuples. Currently somebody really must follow the linked pointer list in a 
way like:
     engine = core.get_engine_info()
     while (engine):
        print engine.file_name, engine.version
        engine = engine.next

where someone would like to write:
	for engine in core.get_engine_info():
		print engine.file_name, engine.version

looks more pythonic to me. :)

Thanks again for the nice library,
I even saw that roundup uses it in the latest versions.
Hopefully my remarks are useful!

Best,
Bernhard

-- 
Managing Director - Owner: www.intevation.net       (Free Software Company)
Germany Coordinator: fsfeurope.org. Coordinator: www.Kolab-Konsortium.com.
Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998
Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testCMSgetkey.py
Type: application/x-python
Size: 1069 bytes
Desc: not available
URL: </pipermail/attachments/20080304/6ac3744d/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: verifydetails.py
Type: application/x-python
Size: 2543 bytes
Desc: not available
URL: </pipermail/attachments/20080304/6ac3744d/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: </pipermail/attachments/20080304/6ac3744d/attachment.pgp>


More information about the Gnupg-devel mailing list