Changeset 859

Show
Ignore:
Timestamp:
06/22/07 22:33:33 (2 years ago)
Author:
sgillies
Message:

Add individual atom entry view with edit link

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • hammock/trunk/infoset.py

    r855 r859  
    4646        link.set("rel", "alternate") 
    4747        link.set("href", "%s/features/%s.html" % (base_url, feature.id)) 
     48         
     49        # Edit link 
     50        link = etree.SubElement(entry, "link") 
     51        link.set("rel", "edit") 
     52        link.set("href", "%s/features/%s.atom" % (base_url, feature.id)) 
     53         
    4854        published = etree.SubElement(entry, "published") 
    4955        published.text = feature.properties.published 
  • hammock/trunk/templates/service.xml

    r849 r859  
    1 <?xml version="1.0" encoding='utf-8'?> 
     1<?xml version="1.0" encoding="utf-8"?> 
    22<service 
    3   xmlns="http://www.w3.org/2007/app
     3  xmlns="http://purl.org/atom/app#
    44  xmlns:atom="http://www.w3.org/2005/Atom" 
    55  xmlns:py="http://genshi.edgewall.org/" 
     
    99    <collection py:attrs="{'href': '%s/features.atom' % site_url}"> 
    1010      <atom:title>Features</atom:title> 
     11      <accept>entry</accept> 
     12      <categories fixed="yes"/> 
    1113    </collection> 
    1214  </workspace> 
  • hammock/trunk/urls.py

    r849 r859  
    77urls.add('/features[/]', GET=view.list, POST=view.feature_post) 
    88urls.add('/features.html', GET=view.collection_html) 
    9 urls.add('/features.atom', GET=view.atom) 
     9urls.add('/features.atom', GET=view.atom) #, POST=view.feature_post_atom) 
    1010urls.add('/features.kml', GET=view.kml) 
    1111urls.add('/features/{id}[/]', GET=view.feature_get) 
    1212urls.add('/features/{id}.html', GET=view.feature_html) 
     13urls.add('/features/{id}.atom', GET=view.feature_atom) 
    1314urls.add('/features/{id}.json', GET=view.feature_get) 
    1415 
  • hammock/trunk/view.py

    r851 r859  
    6565    return [stream.render()] 
    6666 
     67def feature_atom(environ, start_response): 
     68    fid = environ['wsgiorg.routing_args'][1]['id'] 
     69    f = model.COLLECTION.get(fid) 
     70    tmpl = loader.load('entry.xml') 
     71    stream = tmpl.generate(item = f) 
     72    start_response("200 OK", [('Content-Type', 'application/atom+xml')]) 
     73    return [stream.render()] 
     74 
    6775def feature_get(environ, start_response): 
    6876    fid = environ['wsgiorg.routing_args'][1]['id']