From markcarl@sac.sfbay.sun.com Thu Sep 10 14:20:27 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8ALKR1i029786
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 14:20:27 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8ALKOMO052842;
	Thu, 10 Sep 2009 15:20:26 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPR00803XY2WH00@brm-avmta-1.central.sun.com>; Thu,
 10 Sep 2009 15:20:26 -0600 (MDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPR00K5TXY2E2E0@brm-avmta-1.central.sun.com>; Thu,
 10 Sep 2009 15:20:26 -0600 (MDT)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n8ALKNkp016177; Thu, 10 Sep 2009 14:20:23 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8ALKMrl029781; Thu,
 10 Sep 2009 14:20:22 -0700 (PDT)
Received: (from markcarl@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id n8ALKMwo029777; Thu,
 10 Sep 2009 14:20:22 -0700 (PDT)
Date: Thu, 10 Sep 2009 14:20:22 -0700 (PDT)
From: Mark Carlson <markcarl@sac.sfbay.sun.com>
Subject: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
To: LSARC-ext@sun.com
Cc: Manjunath.Basappa@sun.com, Zdenek.Macura@sun.com
Message-id: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 2566

I am sponsoring this case for Manjunath Basappa. It requests minor binding and times out next Thursday.

-- mark

Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 Python Routes
    1.2. Name of Document Author/Supplier:
	 Author:  Manjunath Basappa
    1.3  Date of This Document:
	10 September, 2009
4. Technical Description
Summary
=======

Routes is a Python re-implementation of the Rails routes system for mapping 
URL's to Controllers/Actions and generating URL's. Routes makes it easy to 
create pretty and concise URL's that are RESTful with little effort.

Rooutes is delivered as a set of python modules and classes. It works with in 
a python based web framework. 

This package delivers the latest version of routes (1.10.3) which works with 
python versions 2.4 and 2.6. 
 
The package name is SUNWpy-routes

Dependencies
============

   SUNWpython {Python core package, already available on opensolaris }
     - This is must have dependency.

   SUNWcherry-python {Web framework for Python, available on opensolaris }
     - Routes can work with other web frameworks as well, but this is what I 
       have used for testing.

Interfaces
==========

   Man pages are included.

   The SUNWpy-routes package is Uncommitted.
   
   The remaining interfaces are Volatile.
   
Exported Interfaces
-------------------
None

Imported Interfaces
-------------------
None

Not An Interface 
--------------------
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/PKG-INFO 
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/SOURCES.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/dependency.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/not-zip-safe
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/top_level.txt
/usr/lib/python2.6/vendor-packages/routes/__init__.py 
/usr/lib/python2.6/vendor-packages/routes/base.py 
/usr/lib/python2.6/vendor-packages/routes/mapper.py 
/usr/lib/python2.6/vendor-packages/routes/middleware.py 
/usr/lib/python2.6/vendor-packages/routes/route.py 
/usr/lib/python2.6/vendor-packages/routes/threadinglocal.py 
/usr/lib/python2.6/vendor-packages/routes/util.py 

Reference Documents
===================
   [1] http://routes.groovie.org/docs/ 


6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		SFW
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From danek.duvall@sun.com Thu Sep 10 14:35:31 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8ALZVfj000179
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 14:35:31 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8ALZUf3005818
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 10 Sep 2009 14:35:30 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPR00A05YN6KY00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 10 Sep 2009 15:35:30 -0600 (MDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPR00KEIYMZDUF0@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Thu,
 10 Sep 2009 15:35:24 -0600 (MDT)
Received: from smelly.SFBay.Sun.COM (smelly.SFBay.Sun.COM [129.146.228.142])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n8ALZLUO025192; Thu, 10 Sep 2009 14:35:21 -0700 (PDT)
Received: from smelly.SFBay.Sun.COM (smelly [127.0.0.1])
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id n8ALZLkk022355; Thu,
 10 Sep 2009 14:35:21 -0700 (PDT)
Received: (from dduvall@localhost)
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3/Submit) id n8ALZLLQ022354; Thu,
 10 Sep 2009 14:35:21 -0700 (PDT)
Date: Thu, 10 Sep 2009 14:35:21 -0700
From: Danek Duvall <danek.duvall@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
To: Mark Carlson <markcarl@sac.sfbay.sun.com>
Cc: LSARC-ext@sun.com, Manjunath.Basappa@sun.com, Zdenek.Macura@sun.com
Message-id: <20090910213521.GI837@smelly.SFBay.Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
User-Agent: Mutt/1.5.20 (2009-06-23)
Status: RO
Content-Length: 2159

Mark Carlson wrote:

> Dependencies
> ============
> 
>    SUNWpython {Python core package, already available on opensolaris }
>      - This is must have dependency.
> 
>    SUNWcherry-python {Web framework for Python, available on opensolaris }
>      - Routes can work with other web frameworks as well, but this is what I 
>        have used for testing.

There are no packages "SUNWpython" or "SUNWcherry-python".  There are
"SUNWPython", "SUNWPython26", and "SUNWpython-cherrypy".  The last of those
is a project-private implementation detail of pkg(5) (PSARC/2008/190), and
hasn't been approved by an ARC to be delivered in the Solaris WOS as a
stand-alone component.

If the web engine is pluggable, is it appropriate to have a hard dependency
on one of them?

If you're delivering both Python 2.4 and Python 2.6 modules in the same
package, which version of Python does the package depend on?

> Interfaces
> ==========
> 
>    Man pages are included.
> 
>    The SUNWpy-routes package is Uncommitted.
>    
>    The remaining interfaces are Volatile.
>    
> Exported Interfaces
> -------------------
> None

None?  At all?  If a project exports no interfaces, then there's no
architectural content.

> Imported Interfaces
> -------------------
> None

Again?

> Not An Interface 
> --------------------
> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/PKG-INFO 
> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/SOURCES.txt
> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/dependency.txt
> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/not-zip-safe
> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/top_level.txt
> /usr/lib/python2.6/vendor-packages/routes/__init__.py 
> /usr/lib/python2.6/vendor-packages/routes/base.py 
> /usr/lib/python2.6/vendor-packages/routes/mapper.py 
> /usr/lib/python2.6/vendor-packages/routes/middleware.py 
> /usr/lib/python2.6/vendor-packages/routes/route.py 
> /usr/lib/python2.6/vendor-packages/routes/threadinglocal.py 
> /usr/lib/python2.6/vendor-packages/routes/util.py 

Everything you're delivering is not an interface?

Danek

From Laszlo.Peter@sun.com Thu Sep 10 15:10:36 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8AMAZB9023581
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 15:10:36 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id n8AMAWIX025921
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 11 Sep 2009 06:10:34 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPS00D1B09LXQ00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 10 Sep 2009 16:10:33 -0600 (MDT)
Received: from gmp-eb-inf-2.sun.com ([192.18.6.24])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPS00AY709IOW20@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Thu,
 10 Sep 2009 16:10:31 -0600 (MDT)
Received: from fe-emea-09.sun.com
 (gmp-eb-lb-1-fe1.eu.sun.com [192.18.6.7] (may be forged))
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n8AMAUTs024052	for
 <LSARC-ext@sun.com>; Thu, 10 Sep 2009 22:10:30 +0000 (GMT)
Received: from conversion-daemon.fe-emea-09.sun.com by fe-emea-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KPR00100ZWGVY00@fe-emea-09.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 10 Sep 2009 23:10:21 +0100 (BST)
Received: from [192.168.1.101] ([unknown] [60.234.234.42])
 by fe-emea-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KPS00GOR095UUF0@fe-emea-09.sun.com>; Thu,
 10 Sep 2009 23:10:21 +0100 (BST)
Date: Fri, 11 Sep 2009 10:10:17 +1200
From: "Laszlo (Laca) Peter" <Laszlo.Peter@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
Sender: Laszlo.Peter@sun.com
To: Mark Carlson <markcarl@sac.sfbay.sun.com>
Cc: LSARC-ext@sun.com, Manjunath.Basappa@sun.com, Zdenek.Macura@sun.com
Reply-to: laca@sun.com
Message-id: <1252620617.1242.366.camel@tecra>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
X-Mailer: Evolution 2.24.2
Content-type: text/plain; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
Status: RO
Content-Length: 544

On Thu, 2009-09-10 at 14:20 -0700, Mark Carlson wrote:
> This package delivers the latest version of routes (1.10.3) which
> works with 
> python versions 2.4 and 2.6. 
>  
> The package name is SUNWpy-routes

Please deliver 2 packages, one for 2.4 and one for 2.6 otherwise
your package needs to depend on both versions, so installing your
package will cause both versions to be installed, even if you
only need one of them.

The package naming convention we have been using for Python
modules is SUNWpython24-foo and SUNWpython26-foo.

Laca


From Manjunath.Basappa@Sun.COM Thu Sep 10 20:40:31 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8B3eUPx009354
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 20:40:30 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n8B3eT4o029853
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 11 Sep 2009 04:40:29 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPS00K01FJH8X00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 10 Sep 2009 20:40:29 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPS008R4FJF1P60@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Thu,
 10 Sep 2009 20:40:28 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8B3eRAY021100	for
 <LSARC-ext@sun.com>; Fri, 11 Sep 2009 03:40:27 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KPS00C00FE0BE00@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 11 Sep 2009 11:40:27 +0800 (SGT)
Received: from [129.158.230.178] ([unknown] [129.158.230.178])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KPS002HXFJ7PR70@mail-apac.sun.com>; Fri,
 11 Sep 2009 11:40:27 +0800 (SGT)
Date: Fri, 11 Sep 2009 09:10:16 +0530
From: Manjunath Basappa <Manjunath.Basappa@Sun.COM>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <20090910213521.GI837@smelly.SFBay.Sun.COM>
Sender: Manjunath.Basappa@Sun.COM
To: Danek Duvall <Danek.Duvall@Sun.COM>
Cc: Mark Carlson <markcarl@sac.sfbay.sun.com>, LSARC-ext@Sun.COM,
        Zdenek.Macura@Sun.COM
Message-id: <4AA9C6A0.8090502@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
Status: RO
Content-Length: 3699

Hi Danek,

My replies embedded:

-manjunath

Danek Duvall wrote:
> Mark Carlson wrote:
>
>   
>> Dependencies
>> ============
>>
>>    SUNWpython {Python core package, already available on opensolaris }
>>      - This is must have dependency.
>>
>>    SUNWcherry-python {Web framework for Python, available on opensolaris }
>>      - Routes can work with other web frameworks as well, but this is what I 
>>        have used for testing.
>>     
>
> There are no packages "SUNWpython" or "SUNWcherry-python".  There are
> "SUNWPython", "SUNWPython26", and "SUNWpython-cherrypy".  The last of those
> is a project-private implementation detail of pkg(5) (PSARC/2008/190), and
> hasn't been approved by an ARC to be delivered in the Solaris WOS as a
> stand-alone component.
>
>   
I will list the following dependencies:

SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z
SUNWpython-cherrypy@3.1.1,5.11-0.111:20090508T163103Z


> If the web engine is pluggable, is it appropriate to have a hard dependency
> on one of them?
>   

But, routes would not work without some version of python, either
2.4 or 2.6. That is the only hard dependency. CherryPy, is not a
hard dependency.

> If you're delivering both Python 2.4 and Python 2.6 modules in the same
> package, which version of Python does the package depend on?
>
>   

Ok, agreed. I will deliver the following two packages:
SUNWpython24-routes
SUNWpython26-routes

>> Interfaces
>> ==========
>>
>>    Man pages are included.
>>
>>    The SUNWpy-routes package is Uncommitted.
>>    
>>    The remaining interfaces are Volatile.
>>    
>> Exported Interfaces
>> -------------------
>> None
>>     
>
> None?  At all?  If a project exports no interfaces, then there's no
> architectural content.
>   

I thought, since we are just exposing modules and classes to a web 
framework,
they are not public interfaces...it becomes an active exposed interface if
an instance of a class is created, I thought..

Ok, here are the interfaces or modules exposed to any python web framework:

routes
    Provides common classes and functions most users will want access to.
routes.base
    Route and Mapper core classes
routes.middleware
    Routes WSGI Middleware
routes.threadinglocal
routes.util
    Utility functions for use in templates / controllers

>   
>> Imported Interfaces
>> -------------------
>> None
>>     
>
>   
Again, routes imports some modules and classes from Cherrypy...
> Again?
>
>   
>> Not An Interface 
>> --------------------
>> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/PKG-INFO 
>> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/SOURCES.txt
>> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/dependency.txt
>> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/not-zip-safe
>> /usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/top_level.txt
>> /usr/lib/python2.6/vendor-packages/routes/__init__.py 
>> /usr/lib/python2.6/vendor-packages/routes/base.py 
>> /usr/lib/python2.6/vendor-packages/routes/mapper.py 
>> /usr/lib/python2.6/vendor-packages/routes/middleware.py 
>> /usr/lib/python2.6/vendor-packages/routes/route.py 
>> /usr/lib/python2.6/vendor-packages/routes/threadinglocal.py 
>> /usr/lib/python2.6/vendor-packages/routes/util.py 
>>     
>
> Everything you're delivering is not an interface?
>
> Danek
>   

Again, I am not sure what is the definition of an interface...what 
routes does
is, it provides a set of Modules and classes for programmers to develop
mapping between URLs and actions...for implementing dynamic web
applications..

Please do correct me if I am wrong..

-manjunath


From danek.duvall@sun.com Thu Sep 10 22:06:47 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8B56lAe014235
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 22:06:47 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id n8B56kpd012317
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@Sun.COM>; Thu, 10 Sep 2009 22:06:46 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPS00B05JJAX200@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Thu, 10 Sep 2009 22:06:46 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPS00ARIJJ9UD00@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@Sun.COM (ORCPT LSARC-ext@Sun.COM); Thu,
 10 Sep 2009 22:06:45 -0700 (PDT)
Received: from smelly.SFBay.Sun.COM (smelly.SFBay.Sun.COM [129.146.228.142])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n8B56gQh025511; Thu, 10 Sep 2009 22:06:42 -0700 (PDT)
Received: from smelly.SFBay.Sun.COM (smelly [127.0.0.1])
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id n8B56gPw025061; Thu,
 10 Sep 2009 22:06:42 -0700 (PDT)
Received: (from dduvall@localhost)
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3/Submit) id n8B56gTr025060; Thu,
 10 Sep 2009 22:06:42 -0700 (PDT)
Date: Thu, 10 Sep 2009 22:06:42 -0700
From: Danek Duvall <danek.duvall@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AA9C6A0.8090502@sun.com>
To: Manjunath Basappa <Manjunath.Basappa@sun.com>
Cc: Mark Carlson <markcarl@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        Zdenek.Macura@sun.com
Message-id: <20090911050642.GG15804@smelly.SFBay.Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
User-Agent: Mutt/1.5.20 (2009-06-23)
Status: RO
Content-Length: 2525

Manjunath Basappa wrote:

> I will list the following dependencies:
> 
> SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
> SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z
> SUNWpython-cherrypy@3.1.1,5.11-0.111:20090508T163103Z

Sounds good, though a) I'm not sure what the ARC will think of dependencies
specified in OpenSolaris terms and b) cherrypy is still not ARCed in any
way, and so not suitable for this project to depend on.

> >If the web engine is pluggable, is it appropriate to have a hard dependency
> >on one of them?
> 
> But, routes would not work without some version of python, either
> 2.4 or 2.6. That is the only hard dependency. CherryPy, is not a
> hard dependency.

By "hard", I mean that you'll be specifying it in your package
dependencies; that the routes packages cannot be installed without having
cherrypy installed first.  If that's not the case (and it sounds like it's
not), then there's no need to list cherrypy as an imported interface.  It
will simply be used if that's what the routes developer chooses to use.

> >If you're delivering both Python 2.4 and Python 2.6 modules in the same
> >package, which version of Python does the package depend on?
> 
> Ok, agreed. I will deliver the following two packages:
> SUNWpython24-routes
> SUNWpython26-routes

Sounds fine to me.

> I thought, since we are just exposing modules and classes to a web
> framework, they are not public interfaces...it becomes an active exposed
> interface if an instance of a class is created, I thought..

An interface needn't be a user interface.  It is any interface that a
project chooses to expose to the outside world.  It can be a commandline, a
set of functions, an environment variable -- anything that another project
might choose to use.

> Ok, here are the interfaces or modules exposed to any python web framework:
> 
> routes
>    Provides common classes and functions most users will want access to.
> routes.base
>    Route and Mapper core classes
> routes.middleware
>    Routes WSGI Middleware
> routes.threadinglocal
> routes.util
>    Utility functions for use in templates / controllers

This sounds like a reasonable list.  The full list of functions, classes,
and methods should be available in the case directory.  The output of
"pydoc <module>" for each module is sufficient.  I don't think anyone will
bother reviewing them unless you're planning on making a core part of
Solaris depend on this project, but it's good to briefly document what
you're planning on integrating.

Thanks,
Danek

From Manjunath.Basappa@sun.com Thu Sep 10 22:28:48 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8B5SmOb014324
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 22:28:48 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n8B5SiLi007073
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 11 Sep 2009 06:28:47 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPS00505KJV5J00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Thu, 10 Sep 2009 22:28:43 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPS0086ZKJU1QF0@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Thu,
 10 Sep 2009 22:28:43 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8B5Sf6J027006	for
 <LSARC-ext@Sun.COM>; Fri, 11 Sep 2009 05:28:41 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KPS00C00KETWY00@mail-apac.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 11 Sep 2009 13:28:41 +0800 (SGT)
Received: from [129.158.230.178] ([unknown] [129.158.230.178])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KPS009NIKJTFWB0@mail-apac.sun.com>; Fri,
 11 Sep 2009 13:28:41 +0800 (SGT)
Date: Fri, 11 Sep 2009 10:58:37 +0530
From: Manjunath Basappa <Manjunath.Basappa@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <20090911050642.GG15804@smelly.SFBay.Sun.COM>
Sender: Manjunath.Basappa@sun.com
To: Danek Duvall <Danek.Duvall@sun.com>
Cc: Mark Carlson <markcarl@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        Zdenek.Macura@sun.com
Message-id: <4AA9E005.9090803@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
Status: RO
Content-Length: 3087

Danek,

Thanks for your feedback.

One thing, I just installed latest OSOL (2009.06) and it does
have cherrypy! And it does appear in the /release repository
as well 
(http://pkg.opensolaris.org/release/en/search.shtml?token=python&action=Search).

Wonder how it made it to /release without getting ARC approval!?

I will however remove it my dependency list.

-manjunath

Danek Duvall wrote:
> Manjunath Basappa wrote:
>
>   
>> I will list the following dependencies:
>>
>> SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
>> SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z
>> SUNWpython-cherrypy@3.1.1,5.11-0.111:20090508T163103Z
>>     
>
> Sounds good, though a) I'm not sure what the ARC will think of dependencies
> specified in OpenSolaris terms and b) cherrypy is still not ARCed in any
> way, and so not suitable for this project to depend on.
>
>   
>>> If the web engine is pluggable, is it appropriate to have a hard dependency
>>> on one of them?
>>>       
>> But, routes would not work without some version of python, either
>> 2.4 or 2.6. That is the only hard dependency. CherryPy, is not a
>> hard dependency.
>>     
>
> By "hard", I mean that you'll be specifying it in your package
> dependencies; that the routes packages cannot be installed without having
> cherrypy installed first.  If that's not the case (and it sounds like it's
> not), then there's no need to list cherrypy as an imported interface.  It
> will simply be used if that's what the routes developer chooses to use.
>
>   
>>> If you're delivering both Python 2.4 and Python 2.6 modules in the same
>>> package, which version of Python does the package depend on?
>>>       
>> Ok, agreed. I will deliver the following two packages:
>> SUNWpython24-routes
>> SUNWpython26-routes
>>     
>
> Sounds fine to me.
>
>   
>> I thought, since we are just exposing modules and classes to a web
>> framework, they are not public interfaces...it becomes an active exposed
>> interface if an instance of a class is created, I thought..
>>     
>
> An interface needn't be a user interface.  It is any interface that a
> project chooses to expose to the outside world.  It can be a commandline, a
> set of functions, an environment variable -- anything that another project
> might choose to use.
>
>   
>> Ok, here are the interfaces or modules exposed to any python web framework:
>>
>> routes
>>    Provides common classes and functions most users will want access to.
>> routes.base
>>    Route and Mapper core classes
>> routes.middleware
>>    Routes WSGI Middleware
>> routes.threadinglocal
>> routes.util
>>    Utility functions for use in templates / controllers
>>     
>
> This sounds like a reasonable list.  The full list of functions, classes,
> and methods should be available in the case directory.  The output of
> "pydoc <module>" for each module is sufficient.  I don't think anyone will
> bother reviewing them unless you're planning on making a core part of
> Solaris depend on this project, but it's good to briefly document what
> you're planning on integrating.
>
> Thanks,
> Danek
>   


From danek.duvall@Sun.COM Thu Sep 10 22:37:53 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8B5bqEh014389
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 10 Sep 2009 22:37:53 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n8B5bqF1010559
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@Sun.COM>; Fri, 11 Sep 2009 06:37:52 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPS00G03KZ34X00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Thu, 10 Sep 2009 22:37:51 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPS00AOQKZ3U420@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@Sun.COM (ORCPT LSARC-ext@Sun.COM); Thu,
 10 Sep 2009 22:37:51 -0700 (PDT)
Received: from smelly.SFBay.Sun.COM (smelly.SFBay.Sun.COM [129.146.228.142])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n8B5bmwf040779; Thu, 10 Sep 2009 22:37:48 -0700 (PDT)
Received: from smelly.SFBay.Sun.COM (smelly [127.0.0.1])
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id n8B5bmxe025219; Thu,
 10 Sep 2009 22:37:48 -0700 (PDT)
Received: (from dduvall@localhost)
	by smelly.SFBay.Sun.COM (8.14.3+Sun/8.14.3/Submit) id n8B5bmRl025218; Thu,
 10 Sep 2009 22:37:48 -0700 (PDT)
Date: Thu, 10 Sep 2009 22:37:48 -0700
From: Danek Duvall <danek.duvall@Sun.COM>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AA9E005.9090803@sun.com>
To: Manjunath Basappa <Manjunath.Basappa@Sun.COM>
Cc: Mark Carlson <markcarl@sac.sfbay.sun.com>, LSARC-ext@Sun.COM,
        Zdenek.Macura@Sun.COM
Message-id: <20090911053748.GH15804@smelly.SFBay.Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
User-Agent: Mutt/1.5.20 (2009-06-23)
Status: RO
Content-Length: 517

Manjunath Basappa wrote:

> Danek,
> 
> Thanks for your feedback.
> 
> One thing, I just installed latest OSOL (2009.06) and it does
> have cherrypy! And it does appear in the /release repository
> as well (http://pkg.opensolaris.org/release/en/search.shtml?token=python&action=Search).
> 
> Wonder how it made it to /release without getting ARC approval!?

All of OpenSolaris made it to /release without ARC approval.  :)

The fact that an interface exists doesn't mean that it's Public, just that
it exists.

Danek

From storycrafter@gmail.com Mon Sep 14 08:58:42 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8EFwfDt001593
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 14 Sep 2009 08:58:42 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n8EFv90o022664;
	Mon, 14 Sep 2009 16:58:37 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPY00G0JXPI9Z00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 14 Sep 2009 08:58:30 -0700 (PDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPY004RNXPH5UD0@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 14 Sep 2009 08:58:29 -0700 (PDT)
Received: from relay11i.sun.com
 (ip121.net129179-4.block1.us.syntegra.com [129.179.4.121])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8EFrfCg020632; Mon,
 14 Sep 2009 15:58:28 +0000 (GMT)
Received: from mmp11es.mmp.us.syntegra.com ([160.41.208.11] [160.41.208.11])
 by relay11i.sun.com with ESMTP id BT-MMP-1690166; Mon,
 14 Sep 2009 15:58:28 +0000 (Z)
Received: from relay15i.sun.com (relay15i.sun.com [129.179.4.125])
 by mmp11es.mmp.us.syntegra.com with ESMTP id BT-MMP-8208560; Mon,
 14 Sep 2009 15:58:28 +0000 (Z)
Received: from mail-qy0-f196.google.com ([209.85.221.196] [209.85.221.196])
 by relay1i.sun.com with ESMTP id BT-MMP-9292006; Mon,
 14 Sep 2009 15:58:28 +0000 (Z)
Received: by mail-qy0-f196.google.com with SMTP id 34so2461137qyk.12 for
 <multiple recipients>; Mon, 14 Sep 2009 08:58:12 -0700 (PDT)
Received: by 10.224.4.200 with SMTP id 8mr5302141qas.130.1252943891702; Mon,
 14 Sep 2009 08:58:11 -0700 (PDT)
Received: from ?172.16.202.89?
 (68-252-106-20.ded.ameritech.net [68.252.106.20]) by mx.google.com with ESMTPS
 id 6sm1612233qwd.23.2009.09.14.08.58.09 (version=TLSv1/SSLv3 cipher=RC4-MD5)
 ; Mon, 14 Sep 2009 08:58:09 -0700 (PDT)
Date: Mon, 14 Sep 2009 10:58:05 -0500
From: Mark Martin <storycrafter@gmail.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AA9E005.9090803@sun.com>
To: Manjunath Basappa <Manjunath.Basappa@sun.com>
Cc: Danek Duvall <Danek.Duvall@sun.com>, Zdenek.Macura@sun.com,
        LSARC-ext@sun.com
Message-id: <4AAE680D.3010004@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com;
 s=gamma;        h=domainkey-signature:received:received:message-id:date:from
   :user-agent:mime-version:to:cc:subject:references:in-reply-to
 :content-type:content-transfer-encoding;
 bh=Bi5XUZMbuhKhBp7oCHNArNy55wCis4GMWJ/cz5cX+88=;
 b=UR+GVhv5L7WFrP65ENqXFmF+jlkrJgIgKAjcviia2Spwbs+EPTV+7LO5rLVgs/XUte
 HLj/Y++enpWCLwIiBucZxsMcjdA2EkXgrfQbLg07VcH7d4uZNjvTgpt9vaLl5k1Sk/y6
 I+ZAkjDWtj2IvIwU8/ugTVjJmS1cpck1uNIXA=
DomainKey-Signature: a=rsa-sha1; c=nofws;        d=gmail.com; s=gamma;
 h=message-id:date:from:user-agent:mime-version:to:cc:subject
 :references:in-reply-to:content-type:content-transfer-encoding;
 b=h4/KRVVe9oaRrr+AjV0Cv6zRYbBwiJ+3lxO9bnlu80ujqWCfDapPL+gkqtKkaX+LZc
 gqsdOw9XPqImOMtY5WTBBZfkjfa/D15m0RoPJUX7XN4VAge7aALwaM4Uj0K48/iCultC
 5rcAlHLAJZoSHl9GR53gBqc8lB2nrClZ6kqXo=
X-PMX-Version: 5.4.1.325704
X-Brightmail-Tracker: AAAAAA==
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Status: RO
Content-Length: 445

Manjunath Basappa wrote:
> Danek,
>
> Thanks for your feedback.
>
> One thing, I just installed latest OSOL (2009.06) and it does
> have cherrypy! And it does appear in the /release repository
> as well 
> (http://pkg.opensolaris.org/release/en/search.shtml?token=python&action=Search). 
>
>
> Wonder how it made it to /release without getting ARC approval!?
>
> I will however remove it my dependency list.

Can we get an updated spec, please?

From Manjunath.Basappa@sun.com Mon Sep 14 22:23:39 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8F5NaOe001860
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 14 Sep 2009 22:23:36 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id n8F5NYaY023970
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Mon, 14 Sep 2009 22:23:36 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KPZ00C03YZBH900@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 14 Sep 2009 23:23:35 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KPZ005P2YZ9Y650@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Mon,
 14 Sep 2009 23:23:35 -0600 (MDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8F5NXD1005468	for
 <LSARC-ext@sun.com>; Tue, 15 Sep 2009 05:23:33 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KPZ00100YYN6300@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 15 Sep 2009 13:23:33 +0800 (SGT)
Received: from [129.158.230.178] ([unknown] [129.158.230.178])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KPZ00DGPYZ8JH50@mail-apac.sun.com>; Tue,
 15 Sep 2009 13:23:32 +0800 (SGT)
Date: Tue, 15 Sep 2009 10:53:28 +0530
From: Manjunath Basappa <Manjunath.Basappa@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AAE680D.3010004@gmail.com>
Sender: Manjunath.Basappa@sun.com
To: Mark Martin <storycrafter@gmail.com>
Cc: Danek Duvall <Danek.Duvall@sun.com>, Zdenek.Macura@sun.com,
        LSARC-ext@sun.com
Message-id: <4AAF24D0.8060605@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)"
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
Status: RO
Content-Length: 38935

This is a multi-part message in MIME format.

--Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT

Mark,

find attached latest set of files for routes package.

-manjunath

Mark Martin wrote:
> Manjunath Basappa wrote:
>> Danek,
>>
>> Thanks for your feedback.
>>
>> One thing, I just installed latest OSOL (2009.06) and it does
>> have cherrypy! And it does appear in the /release repository
>> as well 
>> (http://pkg.opensolaris.org/release/en/search.shtml?token=python&action=Search). 
>>
>>
>> Wonder how it made it to /release without getting ARC approval!?
>>
>> I will however remove it my dependency list.
>
> Can we get an updated spec, please?


--Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)
Content-type: text/x-rpm-spec; name=routes.spec
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=routes.spec

# spec file for package routes
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# This spec file was automatically generated by roboporter using:
#     routes_1.10.3.orig.tar.gz
#
# If you would like to take ownership of this package, and someone
# else has not done so already, then this package is available.
#
# Feel free to use, modify or replace this spec file as you see fit.
#
# Please follow the appropriate sw-porters contributing processes
# to sign up for, and enhance this package. For details see:
#    http://opensolaris.org/os/community/sw-porters/contributing/

%include Solaris.inc

%define mod_name routes
%define mod_version 1.10.3.orig
%define mod_namever routes_1.10.3.orig
%define mod_projdir Routes-1.10.3

%define python_version  2.4


Name:            routes
Summary:         Routing Recognition and Generation Tools
Version:         1.10.3
Source:          ftp://tarball.opensolaris.org/pub/routes_1.10.3.orig.tar.gz
License:         BSD
Url:             http://packages.debian.org/source/etch/routes
Distribution:    OpenSolaris
Vendor:          OpenSolaris Community

# OpenSolaris IPS Package Manifest Fields
Meta(info.upstream): http://groups.google.com/group/pylons-discuss
Meta(info.maintainer): ROBOPORTER <sw-porters-discuss@opensolaris.org>
Meta(info.repository_url): http://routes.groovie.org/download/
Meta(info.classification): org.opensolaris.category.2008:Development/Python
Meta(info.detailed_url): http://routes.groovie.org/docs/

BuildRoot:       %{_tmppath}/%{mod_namever}-build
SUNW_BaseDir:    %{_basedir}
SUNW_Copyright:  routes.copyright
BuildRequires:	SUNWPython
BuildRequires:	SUNWPython-extra
BuildRequires:	SUNWbash
BuildRequires:	SUNWbtool
BuildRequires:	SUNWcs
BuildRequires:	SUNWcsl
BuildRequires:	SUNWesu
BuildRequires:	SUNWgcc
BuildRequires:	SUNWggrp
BuildRequires:	SUNWgnome-media-center
BuildRequires:	SUNWgnome-python-libs
BuildRequires:	SUNWgnu-coreutils
BuildRequires:	SUNWgst-python
BuildRequires:	SUNWgtar
BuildRequires:	SUNWgzip
BuildRequires:	SUNWinstall-libs
BuildRequires:	SUNWipkg
BuildRequires:	SUNWlibms
BuildRequires:	SUNWlibsasl
BuildRequires:	SUNWloc
BuildRequires:	SUNWlxml
BuildRequires:	SUNWmysql-python
BuildRequires:	SUNWopenssl
BuildRequires:	SUNWperl584core
BuildRequires:	SUNWpool
BuildRequires:	SUNWpr
BuildRequires:	SUNWpython-cherrypy
BuildRequires:	SUNWpython-imaging
BuildRequires:	SUNWpython-mako
BuildRequires:	SUNWpython-ply
BuildRequires:	SUNWpython-pyopenssl
BuildRequires:	SUNWpython-setuptools
BuildRequires:	SUNWpython-twisted
BuildRequires:	SUNWpython-zope-interface
BuildRequires:	SUNWpython24-cssutils
BuildRequires:	SUNWpython24-ctypes
BuildRequires:	SUNWpython24-simplejson
BuildRequires:	SUNWtls
BuildRequires:	SUNWxcu4
BuildRequires:	SUNWzfs
BuildRequires:	SUNWzlib
BuildRequires:	SUNWzone

Requires:	SUNWPython


%description
Routing Recognition and Generation Tools

%prep


%setup -q -c -n  %{mod_namever}


%build


cd %{mod_projdir}
python ./setup.py build 


%install


rm -rf $RPM_BUILD_ROOT
cd %{mod_projdir}
python ./setup.py install --root=$RPM_BUILD_ROOT --prefix=%{_prefix} \
        --no-compile

# move to vendor-packages
if [ -d $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/site-packages ] ; then  mkdir -p $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/vendor-packages
  mv $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/site-packages/* \
   $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/vendor-packages/
  rmdir $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/site-packages
fi




%files
%defattr (-, root, bin)
%dir %attr(0755, root, bin) /usr/lib
%dir %attr(0755, root, bin) /usr/lib/python%{python_version}
%dir %attr(0755, root, bin) /usr/lib/python%{python_version}/vendor-packages
%dir %attr(0755, root, bin) /usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info
%dir %attr(0755, root, bin) /usr/lib/python%{python_version}/vendor-packages/routes
/usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info/PKG-INFO
/usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info/SOURCES.txt
/usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info/dependency_links.txt
/usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info/not-zip-safe
/usr/lib/python%{python_version}/vendor-packages/Routes-1.10.3-py2.4.egg-info/top_level.txt
/usr/lib/python%{python_version}/vendor-packages/routes/__init__.py
/usr/lib/python%{python_version}/vendor-packages/routes/base.py
/usr/lib/python%{python_version}/vendor-packages/routes/mapper.py
/usr/lib/python%{python_version}/vendor-packages/routes/middleware.py
/usr/lib/python%{python_version}/vendor-packages/routes/route.py
/usr/lib/python%{python_version}/vendor-packages/routes/threadinglocal.py
/usr/lib/python%{python_version}/vendor-packages/routes/util.py
%changelog
- Initial spec machine generated by roboporter
-  on: Wed Jul 22 17:32:02 2009

--Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)
Content-type: text/plain; name=routes.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=routes.txt

Summary
=======

Routes is a Python re-implementation of the Rails routes system for mapping 
URL's to Controllers/Actions and generating URL's. Routes makes it easy to 
create pretty and concise URL's that are RESTful with little effort.

Rooutes is delivered as a set of python modules and classes. It works with in 
a python based web framework. 

This package delivers the latest version of routes (1.10.3) which works with 
python versions 2.4 and 2.6. 
 
The packages that will be delivered are:

SUNWpython26-routes
SUNWpython24-routes 

Dependencies
============
SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z 


Interfaces
==========

   Man pages are included.

   The SUNWpy-routes package is Uncommitted.
   
   The remaining interfaces are Volatile.
   
Exported Interfaces (python modules) 
-----------------------------------
routes
   Provides common classes and functions most users will want access to.
routes.base
   Route and Mapper core classes
routes.middleware
   Routes WSGI Middleware
routes.threadinglocal
routes.util
   Utility functions for use in templates / controllers 


Imported Interfaces
-------------------
None

Not An Interface 
--------------------
{For python 2.6}
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/PKG-INFO 
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/SOURCES.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/dependency.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/not-zip-safe
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/top_level.txt

Reference Documents
===================
   [1] http://routes.groovie.org/docs/ 


--Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)
Content-type: text/plain; name=routes-exposed-interfaces
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=routes-exposed-interfaces

Help on package routes:

NAME
    routes - Provides common classes and functions most users will want access to.

FILE
    /usr/lib/python2.4/vendor-packages/routes/__init__.py

MODULE DOCS
    http://www.python.org/doc/current/lib/module-routes.html

PACKAGE CONTENTS
    base
    mapper
    middleware
    route
    threadinglocal
    util

CLASSES
    __builtin__.object
        routes.mapper.Mapper
        routes.util.URLGenerator
    
    class Mapper(__builtin__.object)
     |  Mapper handles URL generation and URL recognition in a web
     |  application.
     |  
     |  Mapper is built handling dictionary's. It is assumed that the web
     |  application will handle the dictionary returned by URL recognition
     |  to dispatch appropriately.
     |  
     |  URL generation is done by passing keyword parameters into the
     |  generate function, a URL is then returned.
     |  
     |  Methods defined here:
     |  
     |  __init__(self, controller_scan=<function controller_scan>, directory=None, always_scan=False, register=True, explicit=False)
     |      Create a new Mapper instance
     |      
     |      All keyword arguments are optional.
     |      
     |      ``controller_scan``
     |          Function reference that will be used to return a list of
     |          valid controllers used during URL matching. If
     |          ``directory`` keyword arg is present, it will be passed
     |          into the function during its call. This option defaults to
     |          a function that will scan a directory for controllers.
     |      
     |      ``directory``
     |          Passed into controller_scan for the directory to scan. It
     |          should be an absolute path if using the default 
     |          ``controller_scan`` function.
     |      
     |      ``always_scan``
     |          Whether or not the ``controller_scan`` function should be
     |          run during every URL match. This is typically a good idea
     |          during development so the server won't need to be restarted
     |          anytime a controller is added.
     |      
     |      ``register``
     |          Boolean used to determine if the Mapper should use 
     |          ``request_config`` to register itself as the mapper. Since
     |          it's done on a thread-local basis, this is typically best
     |          used during testing though it won't hurt in other cases.
     |      
     |      ``explicit``
     |          Boolean used to determine if routes should be connected
     |          with implicit defaults of::
     |              
     |              {'controller':'content','action':'index','id':None}
     |          
     |          When set to True, these defaults will not be added to route
     |          connections and ``url_for`` will not use Route memory.
     |              
     |      Additional attributes that may be set after mapper
     |      initialization (ie, map.ATTRIBUTE = 'something'):
     |      
     |      ``encoding``
     |          Used to indicate alternative encoding/decoding systems to
     |          use with both incoming URL's, and during Route generation
     |          when passed a Unicode string. Defaults to 'utf-8'.
     |      
     |      ``decode_errors``
     |          How to handle errors in the encoding, generally ignoring
     |          any chars that don't convert should be sufficient. Defaults
     |          to 'ignore'.
     |      
     |      ``minimization``
     |          Boolean used to indicate whether or not Routes should
     |          minimize URL's and the generated URL's, or require every
     |          part where it appears in the path. Defaults to True.
     |      
     |      ``hardcode_names``
     |          Whether or not Named Routes result in the default options
     |          for the route being used *or* if they actually force url
     |          generation to use the route. Defaults to False.
     |  
     |  connect(self, *args, **kargs)
     |      Create and connect a new Route to the Mapper.
     |      
     |      Usage:
     |      
     |      .. code-block:: python
     |      
     |          m = Mapper()
     |          m.connect(':controller/:action/:id')
     |          m.connect('date/:year/:month/:day', controller="blog", action="view")
     |          m.connect('archives/:page', controller="blog", action="by_page",
     |          requirements = { 'page':'\d{1,2}' })
     |          m.connect('category_list', 'archives/category/:section', controller='blog', action='category',
     |          section='home', type='list')
     |          m.connect('home', '', controller='blog', action='view', section='home')
     |  
     |  create_regs(self, *args, **kwargs)
     |      Atomically creates regular expressions for all connected
     |      routes
     |  
     |  generate(self, *args, **kargs)
     |      Generate a route from a set of keywords
     |      
     |      Returns the url text, or None if no URL could be generated.
     |      
     |      .. code-block:: python
     |          
     |          m.generate(controller='content',action='view',id=10)
     |  
     |  match(self, url)
     |      Match a URL against against one of the routes contained.
     |      
     |      Will return None if no valid match is found.
     |      
     |      .. code-block:: python
     |          
     |          resultdict = m.match('/joe/sixpack')
     |  
     |  redirect(self, match_path, destination_path, *args, **kwargs)
     |      Add a redirect route to the mapper
     |      
     |      Redirect routes bypass the wrapped WSGI application and instead
     |      result in a redirect being issued by the RoutesMiddleware. As
     |      such, this method is only meaningful when using
     |      RoutesMiddleware.
     |      
     |      By default, a 302 Found status code is used, this can be
     |      changed by providing a ``_redirect_code`` keyword argument
     |      which will then be used instead. Note that the entire status
     |      code string needs to be present.
     |      
     |      When using keyword arguments, all arguments that apply to
     |      matching will be used for the match, while generation specific
     |      options will be used during generation. Thus all options
     |      normally available to connected Routes may be used with
     |      redirect routes as well.
     |      
     |      Example::
     |          
     |          map = Mapper()
     |          map.redirect('/legacyapp/archives/{url:.*}, '/archives/{url})
     |          map.redirect('/home/index', '/', _redirect_code='301 Moved Permanently')
     |  
     |  resource(self, member_name, collection_name, **kwargs)
     |      Generate routes for a controller resource
     |      
     |      The member_name name should be the appropriate singular version
     |      of the resource given your locale and used with members of the
     |      collection. The collection_name name will be used to refer to
     |      the resource collection methods and should be a plural version
     |      of the member_name argument. By default, the member_name name
     |      will also be assumed to map to a controller you create.
     |      
     |      The concept of a web resource maps somewhat directly to 'CRUD' 
     |      operations. The overlying things to keep in mind is that
     |      mapping a resource is about handling creating, viewing, and
     |      editing that resource.
     |      
     |      All keyword arguments are optional.
     |      
     |      ``controller``
     |          If specified in the keyword args, the controller will be
     |          the actual controller used, but the rest of the naming
     |          conventions used for the route names and URL paths are
     |          unchanged.
     |      
     |      ``collection``
     |          Additional action mappings used to manipulate/view the
     |          entire set of resources provided by the controller.
     |          
     |          Example::
     |              
     |              map.resource('message', 'messages', collection={'rss':'GET'})
     |              # GET /message/rss (maps to the rss action)
     |              # also adds named route "rss_message"
     |      
     |      ``member``
     |          Additional action mappings used to access an individual
     |          'member' of this controllers resources.
     |          
     |          Example::
     |              
     |              map.resource('message', 'messages', member={'mark':'POST'})
     |              # POST /message/1/mark (maps to the mark action)
     |              # also adds named route "mark_message"
     |      
     |      ``new``
     |          Action mappings that involve dealing with a new member in
     |          the controller resources.
     |          
     |          Example::
     |              
     |              map.resource('message', 'messages', new={'preview':'POST'})
     |              # POST /message/new/preview (maps to the preview action)
     |              # also adds a url named "preview_new_message"
     |      
     |      ``path_prefix``
     |          Prepends the URL path for the Route with the path_prefix
     |          given. This is most useful for cases where you want to mix
     |          resources or relations between resources.
     |      
     |      ``name_prefix``
     |          Perpends the route names that are generated with the
     |          name_prefix given. Combined with the path_prefix option,
     |          it's easy to generate route names and paths that represent
     |          resources that are in relations.
     |          
     |          Example::
     |              
     |              map.resource('message', 'messages', controller='categories', 
     |                  path_prefix='/category/:category_id', 
     |                  name_prefix="category_")
     |              # GET /category/7/message/1
     |              # has named route "category_message"
     |              
     |      ``parent_resource`` 
     |          A ``dict`` containing information about the parent
     |          resource, for creating a nested resource. It should contain
     |          the ``member_name`` and ``collection_name`` of the parent
     |          resource. This ``dict`` will 
     |          be available via the associated ``Route`` object which can
     |          be accessed during a request via
     |          ``request.environ['routes.route']``
     |      
     |          If ``parent_resource`` is supplied and ``path_prefix``
     |          isn't, ``path_prefix`` will be generated from
     |          ``parent_resource`` as
     |          "<parent collection name>/:<parent member name>_id". 
     |      
     |          If ``parent_resource`` is supplied and ``name_prefix``
     |          isn't, ``name_prefix`` will be generated from
     |          ``parent_resource`` as  "<parent member name>_". 
     |      
     |          Example:: 
     |      
     |              >>> from routes.util import url_for 
     |              >>> m = Mapper() 
     |              >>> m.resource('location', 'locations', 
     |              ...            parent_resource=dict(member_name='region', 
     |              ...                                 collection_name='regions'))
     |              >>> # path_prefix is "regions/:region_id" 
     |              >>> # name prefix is "region_"  
     |              >>> url_for('region_locations', region_id=13) 
     |              '/regions/13/locations'
     |              >>> url_for('region_new_location', region_id=13) 
     |              '/regions/13/locations/new'
     |              >>> url_for('region_location', region_id=13, id=60) 
     |              '/regions/13/locations/60'
     |              >>> url_for('region_edit_location', region_id=13, id=60) 
     |              '/regions/13/locations/60/edit'
     |      
     |          Overriding generated ``path_prefix``::
     |      
     |              >>> m = Mapper()
     |              >>> m.resource('location', 'locations',
     |              ...            parent_resource=dict(member_name='region',
     |              ...                                 collection_name='regions'),
     |              ...            path_prefix='areas/:area_id')
     |              >>> # name prefix is "region_"
     |              >>> url_for('region_locations', area_id=51)
     |              '/areas/51/locations'
     |      
     |          Overriding generated ``name_prefix``::
     |      
     |              >>> m = Mapper()
     |              >>> m.resource('location', 'locations',
     |              ...            parent_resource=dict(member_name='region',
     |              ...                                 collection_name='regions'),
     |              ...            name_prefix='')
     |              >>> # path_prefix is "regions/:region_id" 
     |              >>> url_for('locations', region_id=51)
     |              '/regions/51/locations'
     |  
     |  routematch(self, url)
     |      Match a URL against against one of the routes contained.
     |      
     |      Will return None if no valid match is found, otherwise a
     |      result dict and a route object is returned.
     |      
     |      .. code-block:: python
     |      
     |          resultdict, route_obj = m.match('/joe/sixpack')
     |  
     |  ----------------------------------------------------------------------
     |  Properties defined here:
     |  
     |  environ
     |      <get> = _envget(self)
     |  
     |      <set> = _envset(self, env)
     |  
     |      <delete> = _envdel(self)
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __dict__ = <dictproxy object>
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__ = <attribute '__weakref__' of 'Mapper' objects>
     |      list of weak references to the object (if defined)
    
    class URLGenerator(__builtin__.object)
     |  The URL Generator generates URL's
     |  
     |  It is automatically instantiated by the RoutesMiddleware and put
     |  into the ``wsgiorg.routing_args`` tuple accessible as::
     |  
     |      url = environ['wsgiorg.routing_args'][0][0]
     |  
     |  Or via the ``routes.url`` key::
     |  
     |      url = environ['routes.url']
     |  
     |  The url object may be instantiated outside of a web context for use
     |  in testing, however sub_domain support and fully qualified URL's
     |  cannot be generated without supplying a dict that must contain the
     |  key ``HTTP_HOST``.
     |  
     |  Methods defined here:
     |  
     |  __call__(self, *args, **kargs)
     |      Generates a URL 
     |      
     |      All keys given to url_for are sent to the Routes Mapper instance for 
     |      generation except for::
     |      
     |          anchor          specified the anchor name to be appened to the path
     |          host            overrides the default (current) host if provided
     |          protocol        overrides the default (current) protocol if provided
     |          qualified       creates the URL with the host/port information as 
     |                          needed
     |  
     |  __init__(self, mapper, environ)
     |      Instantiate the URLGenerator
     |      
     |      ``mapper``
     |          The mapper object to use when generating routes.
     |      ``environ``
     |          The environment dict used in WSGI, alternately, any dict
     |          that contains at least an ``HTTP_HOST`` value.
     |  
     |  current(self, *args, **kwargs)
     |      Generate a route that includes params used on the current
     |      request
     |      
     |      The arguments for this method are identical to ``__call__``
     |      except that arguments set to None will remove existing route
     |      matches of the same name from the set of arguments used to
     |      construct a URL.
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __dict__ = <dictproxy object>
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__ = <attribute '__weakref__' of 'URLGenerator' objects>
     |      list of weak references to the object (if defined)

FUNCTIONS
    redirect_to(*args, **kargs)
        Issues a redirect based on the arguments. 
        
        Redirect's *should* occur as a "302 Moved" header, however the web 
        framework may utilize a different method.
        
        All arguments are passed to url_for to retrieve the appropriate URL, then
        the resulting URL it sent to the redirect function as the URL.
    
    request_config(original=False)
        Returns the Routes RequestConfig object.
        
        To get the Routes RequestConfig:
        
        >>> from routes import *
        >>> config = request_config()
        
        The following attributes must be set on the config object every request:
        
        mapper
            mapper should be a Mapper instance thats ready for use
        host
            host is the hostname of the webapp
        protocol
            protocol is the protocol of the current request
        mapper_dict
            mapper_dict should be the dict returned by mapper.match()
        redirect
            redirect should be a function that issues a redirect, 
            and takes a url as the sole argument
        prefix (optional)
            Set if the application is moved under a URL prefix. Prefix
            will be stripped before matching, and prepended on generation
        environ (optional)
            Set to the WSGI environ for automatic prefix support if the
            webapp is underneath a 'SCRIPT_NAME'
            
            Setting the environ will use information in environ to try and
            populate the host/protocol/mapper_dict options if you've already
            set a mapper.
        
        **Using your own requst local**
        
        If you have your own request local object that you'd like to use instead of the default
        thread local provided by Routes, you can configure Routes to use it::
            
            from routes import request_config()
            config = request_config()
            if hasattr(config, 'using_request_local'):
                config.request_local = YourLocalCallable
                config = request_config()
        
        Once you have configured request_config, its advisable you retrieve it again to get the
        object you wanted. The variable you assign to request_local is assumed to be a callable
        that will get the local config object you wish.
        
        This example tests for the presence of the 'using_request_local' attribute which will be
        present if you haven't assigned it yet. This way you can avoid repeat assignments of the
        request specific callable.
        
        Should you want the original object, perhaps to change the callable its using or stop
        this behavior, call request_config(original=True).
    
    url_for(*args, **kargs)
        Generates a URL 
        
        All keys given to url_for are sent to the Routes Mapper instance for 
        generation except for::
            
            anchor          specified the anchor name to be appened to the path
            host            overrides the default (current) host if provided
            protocol        overrides the default (current) protocol if provided
            qualified       creates the URL with the host/port information as 
                            needed
            
        The URL is generated based on the rest of the keys. When generating a new 
        URL, values will be used from the current request's parameters (if 
        present). The following rules are used to determine when and how to keep 
        the current requests parameters:
        
        * If the controller is present and begins with '/', no defaults are used
        * If the controller is changed, action is set to 'index' unless otherwise 
          specified
        
        For example, if the current request yielded a dict of
        {'controller': 'blog', 'action': 'view', 'id': 2}, with the standard 
        ':controller/:action/:id' route, you'd get the following results::
        
            url_for(id=4)                    =>  '/blog/view/4',
            url_for(controller='/admin')     =>  '/admin',
            url_for(controller='admin')      =>  '/admin/view/2'
            url_for(action='edit')           =>  '/blog/edit/2',
            url_for(action='list', id=None)  =>  '/blog/list'
        
        **Static and Named Routes**
        
        If there is a string present as the first argument, a lookup is done 
        against the named routes table to see if there's any matching routes. The
        keyword defaults used with static routes will be sent in as GET query 
        arg's if a route matches.
        
        If no route by that name is found, the string is assumed to be a raw URL. 
        Should the raw URL begin with ``/`` then appropriate SCRIPT_NAME data will
        be added if present, otherwise the string will be used as the url with 
        keyword args becoming GET query args.

DATA
    __all__ = ['Mapper', 'url_for', 'URLGenerator', 'redirect_to', 'reques...


Help on module routes.util in routes:

NAME
    routes.util - Utility functions for use in templates / controllers

FILE
    /usr/lib/python2.4/vendor-packages/routes/util.py

MODULE DOCS
    http://www.python.org/doc/current/lib/module-routes.util.html

DESCRIPTION
    *PLEASE NOTE*: Many of these functions expect an initialized RequestConfig
    object. This is expected to have been initialized for EACH REQUEST by the web
    framework.

CLASSES
    __builtin__.object
        URLGenerator
    exceptions.Exception
        RoutesException
            GenerationException
            MatchException
    
    class GenerationException(RoutesException)
     |  Tossed during URL generation exceptions
     |  
     |  Method resolution order:
     |      GenerationException
     |      RoutesException
     |      exceptions.Exception
     |  
     |  Methods inherited from exceptions.Exception:
     |  
     |  __getitem__(...)
     |  
     |  __init__(...)
     |  
     |  __str__(...)
    
    class MatchException(RoutesException)
     |  Tossed during URL matching exceptions
     |  
     |  Method resolution order:
     |      MatchException
     |      RoutesException
     |      exceptions.Exception
     |  
     |  Methods inherited from exceptions.Exception:
     |  
     |  __getitem__(...)
     |  
     |  __init__(...)
     |  
     |  __str__(...)
    
    class RoutesException(exceptions.Exception)
     |  Tossed during Route exceptions
     |  
     |  Methods inherited from exceptions.Exception:
     |  
     |  __getitem__(...)
     |  
     |  __init__(...)
     |  
     |  __str__(...)
    
    class URLGenerator(__builtin__.object)
     |  The URL Generator generates URL's
     |  
     |  It is automatically instantiated by the RoutesMiddleware and put
     |  into the ``wsgiorg.routing_args`` tuple accessible as::
     |  
     |      url = environ['wsgiorg.routing_args'][0][0]
     |  
     |  Or via the ``routes.url`` key::
     |  
     |      url = environ['routes.url']
     |  
     |  The url object may be instantiated outside of a web context for use
     |  in testing, however sub_domain support and fully qualified URL's
     |  cannot be generated without supplying a dict that must contain the
     |  key ``HTTP_HOST``.
     |  
     |  Methods defined here:
     |  
     |  __call__(self, *args, **kargs)
     |      Generates a URL 
     |      
     |      All keys given to url_for are sent to the Routes Mapper instance for 
     |      generation except for::
     |      
     |          anchor          specified the anchor name to be appened to the path
     |          host            overrides the default (current) host if provided
     |          protocol        overrides the default (current) protocol if provided
     |          qualified       creates the URL with the host/port information as 
     |                          needed
     |  
     |  __init__(self, mapper, environ)
     |      Instantiate the URLGenerator
     |      
     |      ``mapper``
     |          The mapper object to use when generating routes.
     |      ``environ``
     |          The environment dict used in WSGI, alternately, any dict
     |          that contains at least an ``HTTP_HOST`` value.
     |  
     |  current(self, *args, **kwargs)
     |      Generate a route that includes params used on the current
     |      request
     |      
     |      The arguments for this method are identical to ``__call__``
     |      except that arguments set to None will remove existing route
     |      matches of the same name from the set of arguments used to
     |      construct a URL.
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __dict__ = <dictproxy object>
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__ = <attribute '__weakref__' of 'URLGenerator' objects>
     |      list of weak references to the object (if defined)

FUNCTIONS
    cache_hostinfo(environ)
        Processes the host information and stores a copy
        
        This work was previously done but wasn't stored in environ, nor is
        it guaranteed to be setup in the future (Routes 2 and beyond).
        
        cache_hostinfo processes environ keys that may be present to
        determine the proper host, protocol, and port information to use
        when generating routes.
    
    controller_scan(directory=None)
        Scan a directory for python files and use them as controllers
    
    redirect_to(*args, **kargs)
        Issues a redirect based on the arguments. 
        
        Redirect's *should* occur as a "302 Moved" header, however the web 
        framework may utilize a different method.
        
        All arguments are passed to url_for to retrieve the appropriate URL, then
        the resulting URL it sent to the redirect function as the URL.
    
    url_for(*args, **kargs)
        Generates a URL 
        
        All keys given to url_for are sent to the Routes Mapper instance for 
        generation except for::
            
            anchor          specified the anchor name to be appened to the path
            host            overrides the default (current) host if provided
            protocol        overrides the default (current) protocol if provided
            qualified       creates the URL with the host/port information as 
                            needed
            
        The URL is generated based on the rest of the keys. When generating a new 
        URL, values will be used from the current request's parameters (if 
        present). The following rules are used to determine when and how to keep 
        the current requests parameters:
        
        * If the controller is present and begins with '/', no defaults are used
        * If the controller is changed, action is set to 'index' unless otherwise 
          specified
        
        For example, if the current request yielded a dict of
        {'controller': 'blog', 'action': 'view', 'id': 2}, with the standard 
        ':controller/:action/:id' route, you'd get the following results::
        
            url_for(id=4)                    =>  '/blog/view/4',
            url_for(controller='/admin')     =>  '/admin',
            url_for(controller='admin')      =>  '/admin/view/2'
            url_for(action='edit')           =>  '/blog/edit/2',
            url_for(action='list', id=None)  =>  '/blog/list'
        
        **Static and Named Routes**
        
        If there is a string present as the first argument, a lookup is done 
        against the named routes table to see if there's any matching routes. The
        keyword defaults used with static routes will be sent in as GET query 
        arg's if a route matches.
        
        If no route by that name is found, the string is assumed to be a raw URL. 
        Should the raw URL begin with ``/`` then appropriate SCRIPT_NAME data will
        be added if present, otherwise the string will be used as the url with 
        keyword args becoming GET query args.


Help on module routes.middleware in routes:

NAME
    routes.middleware - Routes WSGI Middleware

FILE
    /usr/lib/python2.4/vendor-packages/routes/middleware.py

MODULE DOCS
    http://www.python.org/doc/current/lib/module-routes.middleware.html

CLASSES
    __builtin__.object
        RoutesMiddleware
    
    class RoutesMiddleware(__builtin__.object)
     |  Routing middleware that handles resolving the PATH_INFO in
     |  addition to optionally recognizing method overriding.
     |  
     |  Methods defined here:
     |  
     |  __call__(self, environ, start_response)
     |      Resolves the URL in PATH_INFO, and uses wsgi.routing_args
     |      to pass on URL resolver results.
     |  
     |  __init__(self, wsgi_app, mapper, use_method_override=True, path_info=True)
     |      Create a Route middleware object
     |      
     |      Using the use_method_override keyword will require Paste to be
     |      installed, and your application should use Paste's WSGIRequest
     |      object as it will properly handle POST issues with wsgi.input
     |      should Routes check it.
     |      
     |      If path_info is True, then should a route var contain
     |      path_info, the SCRIPT_NAME and PATH_INFO will be altered
     |      accordingly. This should be used with routes like:
     |      
     |      .. code-block:: python
     |      
     |          map.connect('blog/*path_info', controller='blog', path_info='')
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __dict__ = <dictproxy object>
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__ = <attribute '__weakref__' of 'RoutesMiddleware' objects>
     |      list of weak references to the object (if defined)

FUNCTIONS
    is_form_post(environ)
        Determine whether the request is a POSTed html form

DATA
    log = <logging.Logger instance>



--Boundary_(ID_7K/MW+xP+2l5NsgA7qWwZw)--

From storycrafter@gmail.com Tue Sep 15 09:35:08 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8FGZ8Xk024781
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 15 Sep 2009 09:35:08 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8FGZ2Ua014843;
	Tue, 15 Sep 2009 10:35:04 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQ000B0JU2FNQ00@brm-avmta-1.central.sun.com>; Tue,
 15 Sep 2009 10:35:03 -0600 (MDT)
Received: from sca-ea-mail-3.sun.com ([192.18.43.21])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQ0002F0U2EC290@brm-avmta-1.central.sun.com>; Tue,
 15 Sep 2009 10:35:03 -0600 (MDT)
Received: from relay43i.sun.com ([192.5.209.74])
	by sca-ea-mail-3.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8FGZ2aB010848;
 Tue, 15 Sep 2009 16:35:02 +0000 (GMT)
Received: from mms48es.mms.us.syntegra.com ([160.41.221.230] [160.41.221.230])
 by relay43i.sun.com with ESMTP id BT-MMP-1194242; Tue,
 15 Sep 2009 16:35:02 +0000 (Z)
Received: from relay45i.sun.com (relay45i.sun.com [192.5.209.94])
 by mms48es.mms.us.syntegra.com with ESMTP id BT-MMP-9773133; Tue,
 15 Sep 2009 16:35:01 +0000 (Z)
Received: from mail-yx0-f196.google.com ([209.85.210.196] [209.85.210.196])
 by relay4i.sun.com with ESMTP id BT-MMP-8689767; Tue,
 15 Sep 2009 16:35:01 +0000 (Z)
Received: by yxe34 with SMTP id 34so5300886yxe.8 for <multiple recipients>;
 Tue, 15 Sep 2009 09:34:36 -0700 (PDT)
Received: by 10.150.44.28 with SMTP id r28mr12806442ybr.36.1253032476537; Tue,
 15 Sep 2009 09:34:36 -0700 (PDT)
Date: Tue, 15 Sep 2009 11:34:36 -0500
From: Mark Martin <storycrafter@gmail.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AAF24D0.8060605@sun.com>
To: Manjunath Basappa <Manjunath.Basappa@sun.com>
Cc: Danek Duvall <Danek.Duvall@sun.com>, Zdenek.Macura@sun.com,
        LSARC-ext@sun.com
Message-id: <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com;
 s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references
 :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding;
 bh=ypkkERdbatxAAmdOrvut1ri39IunKP83VrQfKBSDuwo=;
 b=sUJyxBlaHN21fRNmXmuqunv3q2T/ICve6V9yuLnM9sxnuvx7G73pOnL7JEWQWe6VRl
 eWTTS+NPuhXU8qu5vH7LI4d2fCDtVYzbYzlKMTIQv+AGTfaAaPiae70ZwAhNgyCd0GGe
 GCVGHz5YR3ZNaJZWktW3lqo9Y3hJolIiLAI6c=
DomainKey-Signature: a=rsa-sha1; c=nofws;        d=gmail.com; s=gamma;
 h=mime-version:in-reply-to:references:date:message-id:subject:from:to
 :cc:content-type:content-transfer-encoding;
 b=lsDlT1I8HVY6gpOUohp09QSNFYRku+0/+baytbWFLAdDNenx8LSuZJvPmrT5WQU3i1
 QWxepmkklnLA47x1+vOcYOrAxlC29/YYCyAS6SJ892b4jofVBE4OOi3Kj3zd7v5F4W+T
 c3LN4HE2mRCere+cGrkHXNAT6OcogzLcoIRB0=
X-PMX-Version: 5.4.1.325704
X-Brightmail-Tracker: AAAAAA==
X-Antispam: No, score=-0.7/5.0, scanned in 0.066sec at (localhost [127.0.0.1])
	by smf-spamd v1.3.1 - http://smfs.sf.net/
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com> <4AAF24D0.8060605@sun.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by sac.sfbay.sun.com id n8FGZ8Xk024781
Status: RO
Content-Length: 1762

On Tue, Sep 15, 2009 at 12:23 AM, Manjunath Basappa
<Manjunath.Basappa@sun.com> wrote:
>
> Mark Martin wrote:
>> Can we get an updated spec, please?
>
>
> Summary
> =======
>
> Routes is a Python re-implementation of the Rails routes system for mapping
> URL's to Controllers/Actions and generating URL's. Routes makes it easy to
> create pretty and concise URL's that are RESTful with little effort.

<snip>

>
> Rooutes is delivered as a set of python modules and classes. It works with
> in
> a python based web framework.
>
> This package delivers the latest version of routes (1.10.3) which works with
> python versions 2.4 and 2.6.
>
> The packages that will be delivered are:
>
> SUNWpython26-routes
> SUNWpython24-routes
>
> Dependencies
> ============
> SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
> SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z
>
>
> Interfaces
> ==========
>
>   Man pages are included.
>
>   The SUNWpy-routes package is Uncommitted.
>
>   The remaining interfaces are Volatile.
>
> Exported Interfaces (python modules)
> -----------------------------------
> routes
>   Provides common classes and functions most users will want access to.
> routes.base
>   Route and Mapper core classes
> routes.middleware
>   Routes WSGI Middleware
> routes.threadinglocal
> routes.util
>   Utility functions for use in templates / controllers
>


Manjunath,

Aside from the following two minor issues, this looks fine to me.

1) I'd prefer to see package dependencies not marked up as IPS
dependencies.  Hopefully that's a small enough request and we won't
have to go into things here.
2) Why volatile on these interfaces?  Why can't they be uncommitted?

P.S. Why not run a fast track on CherryPy if you've already done the
work on that? :)


From Manjunath.Basappa@sun.com Wed Sep 16 02:03:31 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8G93VGP024124
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 16 Sep 2009 02:03:31 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8G93Tn5029934
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Wed, 16 Sep 2009 03:03:30 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQ20010J3TTII00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 16 Sep 2009 02:03:29 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQ200G123TR04A0@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Wed,
 16 Sep 2009 02:03:28 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8G93PAg017010	for
 <LSARC-ext@sun.com>; Wed, 16 Sep 2009 09:03:25 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KQ200F003ODQF00@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 16 Sep 2009 17:03:25 +0800 (SGT)
Received: from [129.158.230.178] ([unknown] [129.158.230.178])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KQ200MGN3TD5H50@mail-apac.sun.com>; Wed,
 16 Sep 2009 17:03:13 +0800 (SGT)
Date: Wed, 16 Sep 2009 14:33:08 +0530
From: Manjunath Basappa <Manjunath.Basappa@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
Sender: Manjunath.Basappa@sun.com
To: Mark Martin <storycrafter@gmail.com>
Cc: Danek Duvall <Danek.Duvall@sun.com>, Zdenek.Macura@sun.com,
        LSARC-ext@sun.com
Message-id: <4AB0A9CC.3000809@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_eS56mKqf6KWHqrYYo+ViPQ)"
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com> <4AAF24D0.8060605@sun.com>
 <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
Status: RO
Content-Length: 4074

This is a multi-part message in MIME format.

--Boundary_(ID_eS56mKqf6KWHqrYYo+ViPQ)
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT

Mark,

I really don't have the bandwidth to do cherrypy and since is is already
available in /release, I would not bother...sorry..

-manjunath

Mark Martin wrote:
> On Tue, Sep 15, 2009 at 12:23 AM, Manjunath Basappa
> <Manjunath.Basappa@sun.com> wrote:
>   
>> Mark Martin wrote
>>     
>>> Can we get an updated spec, please?
>>>       
>> Summary
>> =======
>>
>> Routes is a Python re-implementation of the Rails routes system for mapping
>> URL's to Controllers/Actions and generating URL's. Routes makes it easy to
>> create pretty and concise URL's that are RESTful with little effort.
>>     
>
> <snip>
>
>   
>> Rooutes is delivered as a set of python modules and classes. It works with
>> in
>> a python based web framework.
>>
>> This package delivers the latest version of routes (1.10.3) which works with
>> python versions 2.4 and 2.6.
>>
>> The packages that will be delivered are:
>>
>> SUNWpython26-routes
>> SUNWpython24-routes
>>
>> Dependencies
>> ============
>> SUNWPython@2.4.4,5.11-0.111:20090508T152730Z
>> SUNWPython26@2.6.1,5.11-0.111:20090508T152901Z
>>
>>
>> Interfaces
>> ==========
>>
>>   Man pages are included.
>>
>>   The SUNWpy-routes package is Uncommitted.
>>
>>   The remaining interfaces are Volatile.
>>
>> Exported Interfaces (python modules)
>> -----------------------------------
>> routes
>>   Provides common classes and functions most users will want access to.
>> routes.base
>>   Route and Mapper core classes
>> routes.middleware
>>   Routes WSGI Middleware
>> routes.threadinglocal
>> routes.util
>>   Utility functions for use in templates / controllers
>>
>>     
>
>
> Manjunath,
>
> Aside from the following two minor issues, this looks fine to me.
>
> 1) I'd prefer to see package dependencies not marked up as IPS
> dependencies.  Hopefully that's a small enough request and we won't
> have to go into things here.
> 2) Why volatile on these interfaces?  Why can't they be uncommitted?
>
> P.S. Why not run a fast track on CherryPy if you've already done the
> work on that? :)
>   


--Boundary_(ID_eS56mKqf6KWHqrYYo+ViPQ)
Content-type: text/plain; name=routes.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=routes.txt

Summary
=======

Routes is a Python re-implementation of the Rails routes system for mapping 
URL's to Controllers/Actions and generating URL's. Routes makes it easy to 
create pretty and concise URL's that are RESTful with little effort.

Rooutes is delivered as a set of python modules and classes. It works with in 
a python based web framework. 

This package delivers the latest version of routes (1.10.3) which works with 
python versions 2.4 and 2.6. 
 
The packages that will be delivered are:

SUNWpython26-routes
SUNWpython24-routes 

Dependencies
============
SUNWPython24
SUNWPython26


Interfaces
==========

   Man pages are included.

   The SUNWpy-routes package is Uncommitted.
   
   The remaining interfaces are Volatile.
   
Exported Interfaces (python modules) 
-----------------------------------
routes
   Provides common classes and functions most users will want access to.
routes.base
   Route and Mapper core classes
routes.middleware
   Routes WSGI Middleware
routes.threadinglocal
routes.util
   Utility functions for use in templates / controllers 


Imported Interfaces
-------------------
None

Not An Interface 
--------------------
{For python 2.6}
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/PKG-INFO 
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/SOURCES.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/dependency.txt
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/not-zip-safe
/usr/lib/python2.6/vendor-packages/Routes-1.10.3-py2.6.egg-info/top_level.txt

Reference Documents
===================
   [1] http://routes.groovie.org/docs/ 


--Boundary_(ID_eS56mKqf6KWHqrYYo+ViPQ)--

From storycrafter@gmail.com Thu Sep 17 10:19:35 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8HHJZXT008129
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 17 Sep 2009 10:19:35 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id n8HHJV6M016854;
	Thu, 17 Sep 2009 10:19:31 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQ400M01LGJCC00@brm-avmta-1.central.sun.com>; Thu,
 17 Sep 2009 11:19:31 -0600 (MDT)
Received: from sca-ea-mail-1.sun.com ([192.18.43.24])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQ4008RELGI7ME0@brm-avmta-1.central.sun.com>; Thu,
 17 Sep 2009 11:19:31 -0600 (MDT)
Received: from relay13i.sun.com
 (ip123.net129179-4.block1.us.syntegra.com [129.179.4.123])
	by sca-ea-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n8HGxQH3005918;
 Thu, 17 Sep 2009 17:19:30 +0000 (GMT)
Received: from mmp11es.mmp.us.syntegra.com ([160.41.208.11] [160.41.208.11])
 by relay13i.sun.com with ESMTP id BT-MMP-2000957; Thu,
 17 Sep 2009 17:19:30 +0000 (Z)
Received: from relay11i.sun.com (relay11i.sun.com [129.179.4.121])
 by mmp11es.mmp.us.syntegra.com with ESMTP id BT-MMP-14339161; Thu,
 17 Sep 2009 17:19:30 +0000 (Z)
Received: from qw-out-1920.google.com ([74.125.92.146] [74.125.92.146])
 by relay1i.sun.com with ESMTP id BT-MMP-14950063; Thu,
 17 Sep 2009 17:19:30 +0000 (Z)
Received: by qw-out-1920.google.com with SMTP id 5so77229qwf.50 for <multiple
 recipients>; Thu, 17 Sep 2009 10:19:22 -0700 (PDT)
Received: by 10.224.43.102 with SMTP id v38mr547536qae.104.1253207962377; Thu,
 17 Sep 2009 10:19:22 -0700 (PDT)
Received: from ?172.16.202.89?
 (68-252-106-20.ded.ameritech.net [68.252.106.20]) by mx.google.com with ESMTPS
 id 7sm440825qwf.47.2009.09.17.10.19.20 (version=TLSv1/SSLv3 cipher=RC4-MD5)
 ; Thu, 17 Sep 2009 10:19:20 -0700 (PDT)
Date: Thu, 17 Sep 2009 12:19:19 -0500
From: Mark Martin <storycrafter@gmail.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AB0A9CC.3000809@sun.com>
To: Manjunath Basappa <Manjunath.Basappa@sun.com>
Cc: Danek Duvall <Danek.Duvall@sun.com>, Zdenek.Macura@sun.com,
        LSARC-ext@sun.com
Message-id: <4AB26F97.6090709@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com;
 s=gamma;        h=domainkey-signature:received:received:message-id:date:from
   :user-agent:mime-version:to:cc:subject:references:in-reply-to
 :content-type:content-transfer-encoding;
 bh=9fFe04FaHHSCLaWPmzDVhN5e9XutLWjK42XgBgOGftk=;
 b=ZESovyz35Ih6ABjQCL4jnWF+80ZGO4VBdSLQbwLpIHI3+TR1d2pr2xHhtFZlg1Ppgd
 Lh6CfL7IBJ1nD9yH/W028ulYo8NbucGe9EHPhqXTPU5FIeFenUh1pg5MRM+9G6VSvY9K
 IzStm1Yf1KKpeWUcBqAg+AI7XjeNQaCKeZmgA=
DomainKey-Signature: a=rsa-sha1; c=nofws;        d=gmail.com; s=gamma;
 h=message-id:date:from:user-agent:mime-version:to:cc:subject
 :references:in-reply-to:content-type:content-transfer-encoding;
 b=U4B/W9+SxxdO6WpNZwythaQ8obVNAgTUgN3FgiDTQUZvWJ9xvy4j5P0sOcPlkabl3E
 NtrzCjyWXdH5uU5l4DzZtwsq787jfFS6aBrH9zF7r2fcd3OKLMShqYqznBixAVSZOg96
 NkdiJ548l0aI4nRB6GEoyjUohYdghgRWmj4Xg=
X-PMX-Version: 5.4.1.325704
X-Brightmail-Tracker: AAAAAA==
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com> <4AAF24D0.8060605@sun.com>
 <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
 <4AB0A9CC.3000809@sun.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Status: RO
Content-Length: 365

Manjunath Basappa wrote:
> Mark,
>
> I really don't have the bandwidth to do cherrypy and since is is already
> available in /release, I would not bother...sorry..
Fair enough, thanks for the response.  I didn't see an answer to my 
uncommitted vs. volatile question, but I don't think it's worth the 
rehashing of static const FOSS = volatile, so I'm good to go.


From Mark.Carlson@sun.com Wed Sep 30 14:46:20 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8ULkKid004851
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 30 Sep 2009 14:46:20 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8ULkHh0021713
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Wed, 30 Sep 2009 15:46:20 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQT00K0F0H7C900@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 30 Sep 2009 15:46:19 -0600 (MDT)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQT00HB20H7YE10@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Wed,
 30 Sep 2009 15:46:19 -0600 (MDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8ULkJRm020269	for
 <LSARC-ext@sun.com>; Wed, 30 Sep 2009 21:46:19 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KQT00I00023W900@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 30 Sep 2009 15:46:19 -0600 (MDT)
Received: from vpn-129-150-64-43.east.sun.com ([unknown] [129.150.64.43])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KQT00D1Q0H0PV50@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 30 Sep 2009 15:46:14 -0600 (MDT)
Date: Wed, 30 Sep 2009 15:46:12 -0600
From: "Mark A. Carlson" <Mark.Carlson@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AB26F97.6090709@gmail.com>
Sender: Mark.Carlson@sun.com
To: LSARC-ext@sun.com
Cc: Manjunath Basappa <Manjunath.Basappa@sun.com>, Zdenek.Macura@sun.com
Message-id: <4AC3D1A4.5000300@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com> <4AAF24D0.8060605@sun.com>
 <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
 <4AB0A9CC.3000809@sun.com> <4AB26F97.6090709@gmail.com>
User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
Status: RO
Content-Length: 53

This case was approved in LSARC yesterday.

-- mark


From Manjunath.Basappa@sun.com Wed Sep 30 19:57:20 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n912vJVD012392
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 30 Sep 2009 19:57:20 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n912vBxY004372
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 1 Oct 2009 03:57:19 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQT00M03EVGYC00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Wed, 30 Sep 2009 19:57:16 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQT00I80EVFW120@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Wed,
 30 Sep 2009 19:57:16 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n912vEpH002564	for
 <LSARC-ext@sun.com>; Thu, 01 Oct 2009 02:57:14 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KQT00400ENAR800@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 01 Oct 2009 10:57:14 +0800 (SGT)
Received: from [129.158.230.178] ([unknown] [129.158.230.178])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KQT003KWEV8V270@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 01 Oct 2009 10:57:14 +0800 (SGT)
Date: Thu, 01 Oct 2009 08:27:04 +0530
From: Manjunath Basappa <Manjunath.Basappa@sun.com>
Subject: Re: Python Routes [LSARC/2009/481 FastTrack timeout 09/17/2009]
In-reply-to: <4AC3D1A4.5000300@sun.com>
Sender: Manjunath.Basappa@sun.com
To: "Mark A. Carlson" <Mark.Carlson@sun.com>
Cc: LSARC-ext@sun.com, Zdenek.Macura@sun.com, Fritz Ferstl <ferstl@sun.com>
Message-id: <4AC41A80.2030506@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909102120.n8ALKMwo029777@sac.sfbay.sun.com>
 <20090910213521.GI837@smelly.SFBay.Sun.COM> <4AA9C6A0.8090502@sun.com>
 <20090911050642.GG15804@smelly.SFBay.Sun.COM> <4AA9E005.9090803@sun.com>
 <4AAE680D.3010004@gmail.com> <4AAF24D0.8060605@sun.com>
 <e40c28290909150934p514ee522wf04f1d50d4854c49@mail.gmail.com>
 <4AB0A9CC.3000809@sun.com> <4AB26F97.6090709@gmail.com>
 <4AC3D1A4.5000300@sun.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
Status: RO
Content-Length: 108

Thanks Mark!
-manjunath

Mark A. Carlson wrote:
> This case was approved in LSARC yesterday.
>
> -- mark
>


