[opensuse-buildservice] Re: gosc
Hi Rodrigo On Tue, Feb 19, 2008 at 05:21:29PM +0100, Rodrigo Moya wrote:
Hi Peter
Just saw your comment on my blog about the os client. And indeed, one of the things that slowed me down a bit last week was the interface for the client, I am still not sure what the best thing would be.
So, can you share your ideas with me?
Also, is there a list of all the methods available in the osc.* python API?
cheers -- Rodrigo Moya
Klaas, I'm adding you to Cc because we talked about KDE & osc sometimes ;-) and I'm also adding the list to Cc. I have thought about the following ways: 1) simply use osc as is, calling it as external process. Adding a switch which makes osc output stuff in XML (similar to svn --xml) would greatly ease the job I guess. It would be a bit of work though. But doable and definitely worthwhile for other purposes. 2) use a persistent osc process "through a pipe", which turns osc in some sort of daemon. osc has some kind of preliminary batch support, I'd say. mmarek's osc-ftp goes into a similar direction which I envisioned, when I designed the engine. osc-ftp employs a batch mode which allows osc to keep running, so initialization stuff is not done again and again. I personally believe that this is the most efficient option. Again, switching to XML mode (--xml) would come to help. 3) use some kind of language bindings to use osc as python library. With KDE this seems to be possible, although I haven't really researched into this direction, and I don't know nothing about KDE. Seems to boil down either to an embedded Python interpreter, or to some other fancy way of integration. (Thinking further, vim can employ an embedded Python interpreter which would actually allow for integration too. Also, viewvc might serve as an example, using the svn lib through Python bindings; but it is written in Python itself.) 4) don't use osc and re-code everything: it's doable, and actually not so difficult (just how I started osc), but then again it's boring... and apart from doing HTTP requests and parsing XML replies, one needs to deal with the iChain authentication which is a bit special if it is to be used without getting in the way. osc stores a cookie which greatly speeds up later requests, and renews the cookie transparently when needed. These are my thoughts, maybe a wiki page would be helpful to collect and review them. Thanks, Peter -- "WARNING: This bug is visible to non-employees. Please be respectful!" SUSE LINUX Products GmbH Research & Development
On Mittwoch, 20. Februar 2008, Dr. Peter Poeml wrote: Hi,
Klaas, I'm adding you to Cc because we talked about KDE & osc sometimes ;-) and I'm also adding the list to Cc.
Yes, thanks.
I have thought about the following ways:
1) simply use osc as is, calling it as external process. Adding a switch which makes osc output stuff in XML (similar to svn --xml) would greatly ease the job I guess. It would be a bit of work though. But doable and definitely worthwhile for other purposes. Yes, doable but has downsides, for example there is no chance to implement asynchronious tasks properly, like file upload for example where with a tighter integration a real progress bar is possible.
2) use a persistent osc process "through a pipe", which turns osc in some sort of daemon. osc has some kind of preliminary batch support, I'd say. mmarek's osc-ftp goes into a similar direction which I envisioned, when I designed the engine. osc-ftp employs a batch mode which allows osc to keep running, so initialization stuff is not done again and again. I personally believe that this is the most efficient option. Again, switching to XML mode (--xml) would come to help. Yes, but that has the same problems as 1), but saves the overhead to start the process over and over. Are there more benefits?
3) use some kind of language bindings to use osc as python library. With KDE this seems to be possible, although I haven't really researched into this direction, and I don't know nothing about KDE. Is possible with KDE/Qt because there is the excellent PyQt package which are python Qt bindings. This would be my prefered version :)
4) don't use osc and re-code everything: it's doable, and actually not so difficult (just how I started osc), but then again it's boring... Yes, also doable and than better done using C++ probably but I think this is not in the discussion here because osc already is the defacto standard.
These are my thoughts, maybe a wiki page would be helpful to collect and review them. Yes, is there already a wiki page?
regards, Klaas -- Klaas Freitag Architect OPS/IPD SUSE LINUX Products GmbH - Nuernberg --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Thursday 21 February 2008 16:35:33 Klaas Freitag wrote:
3) use some kind of language bindings to use osc as python library. With KDE this seems to be possible, although I haven't really researched into this direction, and I don't know nothing about KDE. Is possible with KDE/Qt because there is the excellent PyQt package which are python Qt bindings. This would be my prefered version :)
This worked fine for Dirk and me to write a simple buildservice monitor app to demo at FOSDEM. Will -- Desktop Engineer KDE Team --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (3)
-
Dr. Peter Poeml
-
Klaas Freitag
-
Will Stephenson