Discussion:
[Pyogp] Introducing: webob
Christian Scholz
2008-07-17 10:46:52 UTC
Permalink
Speaking of reuse, here is a component I would like to propose for the
networking layer: webob.

What we probably need to do with such a networking layer is to pass a
request and get a response back. This holds things like headers, method,
content-type and so on.

So instead of implementing our own generic Request and Response objects
I suggest to use webob which basically gives you all that. It seems
pretty complete and is a rather small package. Moreover it also provides
WSGI support should this be needed (I would need it for my idea of
testing things without having a server to run). There is also quite some
documentation about it here:

http://pythonpaste.org/webob/

The author is Ian Bicking who is a well known Python expert and one of
the driving forces behind WSGI.

I am planning to code a little example on a branch which will use it.

Please discuss! :-)

-- Christian
--
Christian Scholz video blog: http://comlounge.tv
COM.lounge blog: http://mrtopf.de/blog
Luetticher Strasse 10 Skype: HerrTopf
52064 Aachen Homepage: http://comlounge.net
Tel: +49 241 400 730 0 E-Mail ***@comlounge.net
Fax: +49 241 979 00 850 IRC: MrTopf, Tao_T

neue Show: TOPFt?glich (http://mrtopf.de/blog/category/topf-taglich/)
Lock'a Mail
2008-07-17 11:53:00 UTC
Permalink
It's not clear to me how webob would benefit us. I mean, I see that we
are getting Request and Response objects, but these seem simple enough
to code in literally an hour or two. Maybe you could go into more detail
as to what you see is the benefit and how it may be used (I know you
said you are writing some example code, but maybe you could just outline
it in an email?)

Thanks Tao,
Lock
Post by Christian Scholz
Speaking of reuse, here is a component I would like to propose for the
networking layer: webob.
What we probably need to do with such a networking layer is to pass a
request and get a response back. This holds things like headers,
method, content-type and so on.
So instead of implementing our own generic Request and Response
objects I suggest to use webob which basically gives you all that. It
seems pretty complete and is a rather small package. Moreover it also
provides WSGI support should this be needed (I would need it for my
idea of testing things without having a server to run). There is also
http://pythonpaste.org/webob/
The author is Ian Bicking who is a well known Python expert and one of
the driving forces behind WSGI.
I am planning to code a little example on a branch which will use it.
Please discuss! :-)
-- Christian
Christian Scholz
2008-07-17 12:09:48 UTC
Permalink
Post by Lock'a Mail
It's not clear to me how webob would benefit us. I mean, I see that we
are getting Request and Response objects, but these seem simple enough
to code in literally an hour or two. Maybe you could go into more detail
as to what you see is the benefit and how it may be used (I know you
said you are writing some example code, but maybe you could just outline
it in an email?)
Didn't I do this in my previous mail about code reuse? ;-) Maybe read
the documentation of it and in fact it's maybe not that simple:

http://pythonpaste.org/webob/reference.html


So it supports quite a bit (e.g. defines all the possible HTTP
exceptions), has full test coverage, is well known in the community, is
in production use.

For me that's enough. And even if it's just an hour I personally would
still reuse an existing component which seems to do the job just fine.

(I also doubt the 1-2 hour if you write documentation and tests and take
those things into account you might have forgotten in the first run. I
had projects enough where I thought 1-2 hours and ended up spending days
to do it properly.).

Code of it is here: http://svn.pythonpaste.org/Paste/WebOb/trunk/webob/

BTW, as it supports WSGI it might also be very handy to have when
implementing RHTTP as Donovan's implementation also makes use of WSGI,
which IMHO makes sense.

-- Christian
Post by Lock'a Mail
Post by Christian Scholz
Speaking of reuse, here is a component I would like to propose for the
networking layer: webob.
What we probably need to do with such a networking layer is to pass a
request and get a response back. This holds things like headers,
method, content-type and so on.
So instead of implementing our own generic Request and Response
objects I suggest to use webob which basically gives you all that. It
seems pretty complete and is a rather small package. Moreover it also
provides WSGI support should this be needed (I would need it for my
idea of testing things without having a server to run). There is also
http://pythonpaste.org/webob/
The author is Ian Bicking who is a well known Python expert and one of
the driving forces behind WSGI.
I am planning to code a little example on a branch which will use it.
Please discuss! :-)
-- Christian
_______________________________________________
https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp
--
Christian Scholz video blog: http://comlounge.tv
COM.lounge blog: http://mrtopf.de/blog
Luetticher Strasse 10 Skype: HerrTopf
52064 Aachen Homepage: http://comlounge.net
Tel: +49 241 400 730 0 E-Mail ***@comlounge.net
Fax: +49 241 979 00 850 IRC: MrTopf, Tao_T

neue Show: TOPFt?glich (http://mrtopf.de/blog/category/topf-taglich/)
Lock'a Mail
2008-07-17 12:23:16 UTC
Permalink
Just to have some sort of idea before we get pjira (or some other task
tracking method) set up. Please, feel free to add anything I've missed.
I KNOW I missed a few things. My docs are on another computer:

1. Make a decision about grok
- look at Tao's grok branch
- look at grokcore.component to find what is being taken in
- list benefits/disadvantages (for grok, and other things we could use)

2. Decide about webob
- Tao, convince us
- look at webob and determine if it's something we can't whip up
ourselves
- list benefits/disadvantages (for this and for other things, such
as doing it ourselves)

3. Find out about teleport with public beta
- what needs to be done to teleport? is it based on teleport strawman?

4. OGP tests
- should be starting to write documentation on the Login (just
login?) protocols and how
they should be tested (Infinity has started on this. Link to the
page?)

5. Start on messaging system
- find out the true scope of the messages that will be sent, the
ways we need to serialize, what
components we will need to get this done (Builder, Parser, Reader)
- write tests for how we want this to be used (this may be hard at
this point because we don't
know scope)
- write tests for the current parser
- refactor the parser to follow the "NEW" coding standard we adopted

6. Agent Domain
- Tao has been working on writing an agent domain
- blocked by his inability to connect to our regions

7. Task tracking
- pjira, or some other form

8. Refactor the wiki
- what part of the wiki is poor as it currently is?
- reword the stuff in the test harness page to make it clear that we
won't be building a
framework, but simply using a framework (PyUnit, doctest, py.test)
to create test suites for
both the client lib AND servers running OGP protocols
- check out Enus' layout

https://wiki.secondlife.com/wiki/User:Enus_Linden/Project-Wiki-Structure
Loading...