Comment 11 for bug 902762

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

asyncconn.py, asyncipp.py, asyncpk1.py, and authconn.py provide a mechanism for authentication against CUPS. The modules provide especially non-blocking authentication dialogs and auto-select between authentication via IPP and PolicyKit. All the four files depend onm GTK, but only asyncipp.py and authconn.py actually produce GUI elements (not taking into account GUIs of test programs which are started by executing the module as a program itself, like via "python <module>.py"). asyncpk1.py only uses "gtk.gdk.threads_enter ()"/"gtk.gdk.threads_leave ()" pairs, and in asyncconn.py GTK is imported without need.

It will probably need major changes to separate out the GUI elements and make these four modules GUI-toolkit-independent.

It seems if one could somehow make system-config-printer only need asynchronous authentication via PolicyKit, for example by blocking out features which would use IPP or synchronous authentication (running s-c-p as root, administration of remote CUPS servers, ...) one could perhaps work around the GTK GUI elements. Then one would need to put the "import gtk" calls into "try:"/"except:" constructs.

Tim, Jiri, what do you think, is there an easy way to make scp-dbus-service.py and other authentication-needing parts of system-config-printer work in a GTK-free environment like Kubuntu?