Changeset 1380

Show
Ignore:
Timestamp:
09/03/08 18:29:02 (3 months ago)
Author:
sgillies
Message:

Add atom and kml aliases

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pleiades.workspace/trunk/pleiades/workspace/browser/kml.py

    r1378 r1380  
    55from elementtree import ElementTree as etree 
    66import keytree 
     7import geojson 
    78from pleiades.workspace.interfaces import IResource 
    89 
     
    3334                name = f.properties['name'] 
    3435                description = f.properties['description'] 
    35                 where = f.geometry 
    36                 lid = locations.invokeFactory( 
    37                         'Location', 
    38                         geometry='%s: %s' % (where.type, where.coordinates), 
    39                         ) 
     36 
     37                # Process a geo-interface provider into strict GeoJSON 
     38                # shorthand. 
     39                where = geojson.GeoJSON.to_instance(dict( 
     40                            type=f.geometry.type, 
     41                            coordinates=f.geometry.coordinates 
     42                            )) 
     43                data = geojson.loads(geojson.dumps(where)) 
     44                geometry = '%s:%s' % (str(data['type']), data['coordinates']) 
     45                 
     46                lid = locations.invokeFactory('Location', geometry=geometry) 
     47                 
    4048                nid = names.invokeFactory( 
    4149                        'Name', 
  • pleiades.workspace/trunk/pleiades/workspace/profiles/default/types/Workspace_Collection.xml

    r1377 r1380  
    7777  <alias from="sharing" to="@@sharing"/> 
    7878  <alias from="view" to="(selected layout)"/> 
     79  <alias from="atom" to="@@atom-syndication-feed"/> 
     80  <alias from="kml" to="@@kml-document"/> 
    7981  <action title="View" action_id="view" category="object" condition_expr="" 
    8082    url_expr="string:${folder_url}/" visible="True" 
  • pleiades.workspace/trunk/pleiades/workspace/tests/kml-import.txt

    r1378 r1380  
    7777    >>> loc = ws['locations'].queryCatalog()[0].getObject() 
    7878    >>> loc.getGeometry() 
    79     'Point: (21.9725, 32.896299999999997, 0.0)
     79    'Point:[21.9725, 32.896299999999997, 0.0]