<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy">
    <title>gmane.comp.python.cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7583"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7582"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7581"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7580"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7579"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7578"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7577"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7576"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7575"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7574"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7573"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7572"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7571"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7570"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7569"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7568"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7567"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7566"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7565"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.python.cherrypy/7564"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7583">
    <title>Re: upload json file and process it</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7583</link>
    <description>&lt;pre&gt;


Are you doing the JSON file upload by having the user pick some existing JSON file off his local drive, or are you generating and POSTing the JSON from your JavaScript code?


&lt;/pre&gt;</description>
    <dc:creator>Jeff Garbers</dc:creator>
    <dc:date>2012-05-20T21:27:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7582">
    <title>Re: upload json file and process it</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7582</link>
    <description>&lt;pre&gt;"When a client uploads a file to a CherryPy application, it’s placed
on disk immediately."

http://docs.cherrypy.org/stable/progguide/files/uploading.html

So the answer is no BUT if you meant that you didn't want to have to
think about saving the file to disk etc. the answer is yes because CP
does it for you so in your upload(file_) method you could probably get
away with json.load(file_.file) if not json.loads(file_.file.read())

OTH

Cheers,

&lt;/pre&gt;</description>
    <dc:creator>Eugene Van den Bulke</dc:creator>
    <dc:date>2012-05-20T20:42:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7581">
    <title>upload json file and process it</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7581</link>
    <description>&lt;pre&gt;Hi guys,
I'm starting a new project, and I'm using cherrypy for a backend.

One thing though, I'm trying to do an upload of a json file, and I'd like 
to process this json file 'on the fly' without needing to access the 
physical file on disk. ¿is this possible?

Thanks!!

&lt;/pre&gt;</description>
    <dc:creator>saptah</dc:creator>
    <dc:date>2012-05-19T15:53:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7580">
    <title>Better way than this for client-side SSL?</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7580</link>
    <description>&lt;pre&gt;I've made a ServerAdapter that saves client-side credentials (if any) to 
the WSGI environment, but was wondering if there's a better way to set up 
the default server to use it.

Here's the code:

import cherrypy.wsgiserver
from cherrypy.wsgiserver import ssl_builtin

class ClientSSLAdapter(ssl_builtin.BuiltinSSLAdapter):
    def get_environ(self, sock):
        environ = ssl_builtin.BuiltinSSLAdapter.get_environ(self, sock)
        environ['SSL_PEER_CERTIFICATE'] = sock.getpeercert()
        return environ

cherrypy.wsgiserver.wsgiserver2.ssl_adapters['client'] = 'ClientSSLAdapter'
cherrypy.config['server.ssl_module'] = 'client'

Those last two lines are the only way I could find to have the default 
server pick up my module. The documentation says 'Just set 
server.ssl_adapter to an SSLAdapter instance' but cherrypy.server has no 
ssl_adapter attribute. Is there a more canonical way to do this without 
reaching into the wsgiserver and fiddling with its adapters? Just curious.
Simon.


&lt;/pre&gt;</description>
    <dc:creator>Simon Haines</dc:creator>
    <dc:date>2012-05-17T03:03:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7579">
    <title>Re: doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7579</link>
    <description>&lt;pre&gt;
I'm sorry, I don't understand the question.

"index" is just a convention.  If you are using Apache as a front-end,
you can change the name of the default page using the DirectoryIndex
directive in your .htaccess file.

Also, remember that you aren't REQUIRED to support an index page.  If
you know that every request to your CherryPy site will include a page
name, then you don't need index().  It all depends on what you need to
provide to your users.

&lt;/pre&gt;</description>
    <dc:creator>Tim Roberts</dc:creator>
    <dc:date>2012-05-15T17:13:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7578">
    <title>RE: doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7578</link>
    <description>&lt;pre&gt;Not fixed - it never was broken.

As described, this business about "index.html" is a bit of pandering to an old convention.

You can of course use any name as an initial or subsequent landing page.

Alan


-----Original Message-----
From: cherrypy-users-/JYPxA39Uh5TLH3MbocFFw&amp;lt; at &amp;gt;public.gmane.org on behalf of GaneshPandi
Sent: Tue 15/05/2012 06:10
To: cherrypy-users-/JYPxA39Uh5TLH3MbocFFw&amp;lt; at &amp;gt;public.gmane.org
Subject: Re: [cherrypy-users] doubts on cherrypy
 
why...in the sense, my doubt is that...so it is fixed? we have to to use
index () only, for index page...

On Mon, May 14, 2012 at 11:49 PM, Tim Roberts &amp;lt;timr-EQQNi8F+HVEAvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:



&lt;/pre&gt;</description>
    <dc:creator>Alan Pound</dc:creator>
    <dc:date>2012-05-15T09:05:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7577">
    <title>Re: Latching signal handling?</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7577</link>
    <description>&lt;pre&gt;Hi Sylvian, thanks for this idea. Much cleaner than my current solution 
which is to set the timer threads as daemonized so the process need not 
wait for them to finish.
Simon.


On Monday, May 14, 2012 11:42:14 PM UTC+10, Sylvain Hellegouarch wrote:

&lt;/pre&gt;</description>
    <dc:creator>Simon Haines</dc:creator>
    <dc:date>2012-05-15T06:52:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7576">
    <title>Re: doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7576</link>
    <description>&lt;pre&gt;why...in the sense, my doubt is that...so it is fixed? we have to to use
index () only, for index page...

On Mon, May 14, 2012 at 11:49 PM, Tim Roberts &amp;lt;timr-EQQNi8F+HVEAvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:



&lt;/pre&gt;</description>
    <dc:creator>GaneshPandi</dc:creator>
    <dc:date>2012-05-15T05:10:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7575">
    <title>Re: doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7575</link>
    <description>&lt;pre&gt;
Why would you want to?

Here's the issue.  Web requests need to end up with files, not
directories.  When a web request arrives for a directory (like
"http://www.website.com/" or "http://www.website.com/folder/"), Apache
rewrites that to refer to "index.html".  (The exact list is in your
Apache configuration files.)  That's where this convention comes from.

&lt;/pre&gt;</description>
    <dc:creator>Tim Roberts</dc:creator>
    <dc:date>2012-05-14T18:19:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7574">
    <title>Re: Latching signal handling?</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7574</link>
    <description>&lt;pre&gt;Hi Simon,

You might simple want to subscribe your function to the CherryPy engine as
follow:

cherrypy.engine.subscribe('exit',  handle_terminate)

That function should not take any arguments though.

- Sylvain

On Mon, May 14, 2012 at 3:45 AM, Simon Haines &amp;lt;con.amalgamate-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;wrote:




&lt;/pre&gt;</description>
    <dc:creator>Sylvain Hellegouarch</dc:creator>
    <dc:date>2012-05-14T13:42:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7573">
    <title>Re: doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7573</link>
    <description>&lt;pre&gt;You could use serve_file in index to return a html file and the staticdir tool for all other html files you want to link to.

EuGeNe -- follow me on http://twitter.com/3kwa

On 14/05/2012, at 6:05 PM, ram_ganeshu &amp;lt;guruganesh26-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:


&lt;/pre&gt;</description>
    <dc:creator>eugene.vandenbulke-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2012-05-14T08:19:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7572">
    <title>Web-framework+db with the widest scalability?</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7572</link>
    <description>&lt;pre&gt;Disclosure: I have posted this question on stackoverflow&amp;lt;http://stackoverflow.com/q/10562165&amp;gt;and 
comp.lang.python&amp;lt;https://groups.google.com/forum/#%21topic/comp.lang.python/gSAw5mLkUos&amp;gt;
.

 I am building a project requiring high performance and scalability, 
entailing:

   - Role-based authentication&amp;lt;http://en.wikipedia.org/wiki/Role-based_access_control&amp;gt;with 
   API-key&amp;lt;http://en.wikipedia.org/wiki/Application_programming_interface_key&amp;gt;licensing to access data of specific users
   - API &amp;lt;http://en.wikipedia.org/wiki/Application_programming_interface&amp;gt;exposed with 
   REST &amp;lt;http://en.wikipedia.org/wiki/REST&amp;gt; (XML&amp;lt;http://en.wikipedia.org/wiki/XML&amp;gt;, 
   JSON &amp;lt;http://en.wikipedia.org/wiki/JSON&amp;gt;), XMLRPC&amp;lt;http://en.wikipedia.org/wiki/XMLRPC&amp;gt;, 
   JSONRPC &amp;lt;http://en.wikipedia.org/wiki/JSONRPC&amp;gt; and SOAP&amp;lt;http://en.wikipedia.org/wiki/SOAP&amp;gt;
   - "Easily" configurable getters and setters&amp;lt;http://en.wikipedia.org/wiki/Mutator_method&amp;gt;to create APIs accessing the same data but with input/output in different 
   schemas &amp;lt;ht&lt;/pre&gt;</description>
    <dc:creator>Alec Taylor</dc:creator>
    <dc:date>2012-05-12T08:55:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7571">
    <title>doubts on cherrypy</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7571</link>
    <description>&lt;pre&gt;Hi...all,
   I am using cherrypy more than 2 months, now i am having strange
doubt, is it necessary we should use def index(), for our index
page....(exact name index(), we can't use other names?)?
                                     One more is i want to call
directly a html file, that is navigation from one html file to another
html file, is it possible?(i want to call a static html file, from my
another html file) instead of writing a method to call a static
file...
                        please help me to find out....Thanks in
advance.....

&lt;/pre&gt;</description>
    <dc:creator>ram_ganeshu</dc:creator>
    <dc:date>2012-05-14T08:05:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7570">
    <title>Latching signal handling?</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7570</link>
    <description>&lt;pre&gt;Some of my modules used as CherryPy applications spin up their own threads 
(via threading.Timer) for background processing. However, I can't find a 
way to latch cherrypy.engine.signal_handler or 
cherrypy.engine.console_control_handler to properly clean things up when 
Ctrl-C is pressed on a Linux/Windows console.

My server startup code looks like this (Python 2.7.1, CherryPy 3.1.2):

# Register of background jobs
jobs = []
def handle_terminate(event):
  for job in jobs:
    print('Terminating %s' % job.name)
    job.stop()

if hasattr(engine, 'signal_handler'):
  engine.signal_handler.set_handler('SIGTERM', handle_terminate)
  engine.signal_handler.subscribe()
if hasattr(engine, 'console_control_handler'):
  # Best guess as there is no documentation for console_control_handler
  engine.console_control_handler.set_handler('SIGTERM', handle_terminate)
  engine.console_control_handler.subscribe()

Obviously I'd like to register a listener for the Ctrl-C signal, have the 
listener clean up the background job&lt;/pre&gt;</description>
    <dc:creator>Simon Haines</dc:creator>
    <dc:date>2012-05-14T01:45:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7569">
    <title>Re: link data</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7569</link>
    <description>&lt;pre&gt;Hi Rita,

If in your cherrypy application you have a link method

&amp;lt; at &amp;gt;cherrypy.expose
def link(self, user):
    return user

then GETting http://URL/link?user=foo OR http://URL/link/foo AND
POSTing user=foo to http://URL/link will return a page containing foo

HTH

&lt;/pre&gt;</description>
    <dc:creator>Eugene Van den Bulke</dc:creator>
    <dc:date>2012-05-11T12:14:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7568">
    <title>link data</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7568</link>
    <description>&lt;pre&gt;Hello,

How does one get and post data in cherrypy? for example, I have a link
link.html?user=foo  now in link.html how can I handle user=foo?

An example would be much appreciated.

&lt;/pre&gt;</description>
    <dc:creator>Rita Morgan</dc:creator>
    <dc:date>2012-05-11T12:08:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7567">
    <title>Re: Re: Using simpledb with boto</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7567</link>
    <description>&lt;pre&gt;When using non-thread-safe databases I make each thread keep it's own
connection to the database.
It's simpler than pooling so long as you don't have too many threads open
that the number of connections might cause a problem.

Set these up in your startup script:

def db_connect(thread_index):
    cherrypy.thread_data.db = MySQLdb.connect(foo)

cherrypy.engine.subscribe('start_thread', db_connect)
cherrypy.quickstart(root, '/', cp_config)

Then you grab the connection any time you need it like this:

connection = cherrypy.thread_data.db
cursor = connection.cursor()

Scott

&lt;/pre&gt;</description>
    <dc:creator>Scott Chapman</dc:creator>
    <dc:date>2012-05-03T23:05:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7566">
    <title>RE: Re: Using simpledb with boto</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7566</link>
    <description>&lt;pre&gt;The first *really important* thing to understand about boto, is that under the hood it uses httplib, which isn't thread-safe.  So you have to do something like:

    sdb_con = boto.connect_sdb( credentials[0], credentials[1], region=sdbregion)
    sdb_ptr = sdb_con.get_domain( storename)

for each connection object you want to use - you cannot get away with using just a single sdb_con...



Yes, it is neat to use a class to encapsulate all of this, but I'm sure there are other ways of doing it.


Yes, that's about it - pretty much as you describe.

I really believe it is worth making a very tidy formal arrangement for accessing AWS via boto, as boto really doesn't do much by way of retries, and you will want to catch all sorts of low-level exceptions, log them and deal with them.  For example, SDB has some real issues if you are trying to do a lot of writes in a short time.  You pretty much *must* use batch_write, but there are limits - and the way it responds is to fail the request, and you will have to wor&lt;/pre&gt;</description>
    <dc:creator>Alan Pound</dc:creator>
    <dc:date>2012-05-03T16:47:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7565">
    <title>Re: Using simpledb with boto</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7565</link>
    <description>&lt;pre&gt;I'm asking on boto-users about connection pooling (thanks) but I'm
still asking here because I'm not sure about how threading works and
how to setup a class as you mentioned.

So I have a class say with a get_conn and release_conn function.

sdb = boto.connect_sdb(...)

creates a connection which I can then reuse if release_conn is called
by returning the same connection to the next get_conn call?

cherrypy is threaded right? I don't understand this.  So my connection
pooling class is created once (not per thread?) or uses classmethods?
and cherrypy kicks off a thread which will eventually call my page
handling function:

&amp;lt; at &amp;gt;cherrypy.expose
def page(self, username):
    conn = MyPool.get_conn()
    ...
    MyPool.release(conn)

Now each thread will reuse a connection that has been previously
created and released...

Mark

On May 3, 11:46 am, "Alan Pound" &amp;lt;Alan.Po...-ZS65k/vG3HxXrIkS9f7CXA&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:

&lt;/pre&gt;</description>
    <dc:creator>Mark</dc:creator>
    <dc:date>2012-05-03T16:27:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7564">
    <title>RE: Using simpledb with boto</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7564</link>
    <description>&lt;pre&gt;
What I do is, while starting up CP, I instantiate a class that builds a pool of SDB connection objects, and I pass a reference to that class to my CP classes.  

When they want to access SDB (or in a similar manner, S3), they obtain a connection object from that shared pool, and return it after use.  If the pool gets empty, the class just makes another new one, and that goes back into the pool on completion.

In fact, the class that maintains the pool, also supplies a bunch of helper functions that use those connection objects..

Hope this helps.

Alan


-----Original Message-----
From: cherrypy-users-/JYPxA39Uh5TLH3MbocFFw&amp;lt; at &amp;gt;public.gmane.org on behalf of Mark
Sent: Thu 03/05/2012 16:35
To: cherrypy-users
Subject: [cherrypy-users] Using simpledb with boto
 
Anyone using Amazon's SimpleDB with boto in CherryPy?

I have to connect then get a domain:

import boto

sdb = boto.connect_sdb(...)
dom = sdb.get_domain('test_users')

Then in my page handlers I can look for a user 'shooter' with:

user2 = dom.get_item('&lt;/pre&gt;</description>
    <dc:creator>Alan Pound</dc:creator>
    <dc:date>2012-05-03T15:46:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.python.cherrypy/7563">
    <title>Using simpledb with boto</title>
    <link>http://permalink.gmane.org/gmane.comp.python.cherrypy/7563</link>
    <description>&lt;pre&gt;Anyone using Amazon's SimpleDB with boto in CherryPy?

I have to connect then get a domain:

import boto

sdb = boto.connect_sdb(...)
dom = sdb.get_domain('test_users')

Then in my page handlers I can look for a user 'shooter' with:

user2 = dom.get_item('shooter')
if user2 == None:
  print "no user shooter"


But I'm not sure where to make the connect and get_domain calls and
where to save the domain object. Can I just do:

root.py:

import boto
sdb = boto.connect_sdb(...)
dom = sdb.get_domain('test_users')

class Root:
    &amp;lt; at &amp;gt;cherrypy.expose
    def page(self, username):
        user = dom.get_item(username)
        if user != None:
            ...




&lt;/pre&gt;</description>
    <dc:creator>Mark</dc:creator>
    <dc:date>2012-05-03T15:35:58</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.python.cherrypy">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.python.cherrypy</link>
  </textinput>
</rdf:RDF>

