Changeset 1359
- Timestamp:
- 08/15/08 19:39:52 (3 months ago)
- Files:
-
- pleiades.workspace/trunk/pleiades/workspace/browser/kml.py (modified) (3 diffs)
- pleiades.workspace/trunk/pleiades/workspace/browser/xml.py (modified) (2 diffs)
- pleiades.workspace/trunk/pleiades/workspace/configure.zcml (modified) (1 diff)
- pleiades.workspace/trunk/pleiades/workspace/content/workspace.py (modified) (1 diff)
- pleiades.workspace/trunk/pleiades/workspace/tests/base.py (modified) (1 diff)
- pleiades.workspace/trunk/pleiades/workspace/tests/factory.txt (modified) (1 diff)
- pleiades.workspace/trunk/pleiades/workspace/tests/kml-import.txt (modified) (2 diffs)
- pleiades.workspace/trunk/pleiades/workspace/tests/xml-import.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pleiades.workspace/trunk/pleiades/workspace/browser/kml.py
r1355 r1359 1 #from Acquisition import aq_inner2 1 import transaction 3 2 from Products.Five.browser import BrowserView … … 21 20 22 21 places = portal['places'] 22 features = portal['features'] 23 23 names = portal['names'] 24 24 locations = portal['locations'] … … 40 40 nid = names.invokeFactory( 41 41 'Name', 42 id=ptool.normalizeString(name),43 42 title=name.encode('utf-8') 44 43 ) 45 44 pid = places.invokeFactory( 46 45 'Place', 47 id=ptool.normalizeString(name),48 46 title=name.encode('utf-8') 49 47 ) 50 place = places[pid] 51 aid = place.invokeFactory( 52 'PlacefulAssociation', 53 id=nid 48 fid = features.invokeFactory( 49 'Feature', 54 50 ) 55 a = place[aid] 56 a.addReference(names[nid], 'hasName') 57 a.addReference(locations[lid], 'hasLocation') 51 f = features[fid] 52 f.addReference(names[nid], 'hasName') 53 f.addReference(locations[lid], 'hasLocation') 54 p = places[pid] 55 p.addReference(f, 'hasFeature') 58 56 59 57 # Attach to workspace 60 58 IResource(names[nid]).attach(self.context) 61 59 IResource(locations[lid]).attach(self.context) 62 IResource(places[pid]).attach(self.context) 60 IResource(f).attach(self.context) 61 IResource(p).attach(self.context) 63 62 64 63 except: pleiades.workspace/trunk/pleiades/workspace/browser/xml.py
r1355 r1359 21 21 portal = getToolByName(self.context, 'portal_url').getPortalObject() 22 22 places = portal['places'] 23 features = portal['features'] 23 24 names = portal['names'] 24 25 locations = portal['locations'] … … 32 33 for lid in result['location_ids']: 33 34 IResource(locations[lid]).attach(self.context) 35 for fid in result['feature_ids']: 36 IResource(features[fid]).attach(self.context) 34 37 IResource(places[result['place_id']]).attach(self.context) 35 38 count += 1 pleiades.workspace/trunk/pleiades/workspace/configure.zcml
r1355 r1359 20 20 factory=".resource.Resource" 21 21 for="Products.PleiadesEntity.content.Name.Name" 22 trusted="true" 23 /> 24 25 <adapter 26 factory=".resource.Resource" 27 for="Products.PleiadesEntity.content.Feature.Feature" 22 28 trusted="true" 23 29 /> pleiades.workspace/trunk/pleiades/workspace/content/workspace.py
r1355 r1359 95 95 tid = self.invokeFactory('Topic', id='names', title='Names') 96 96 self.initTopic(tid, 'Name') 97 tid = self.invokeFactory('Topic', id='features', title='Features') 98 self.initTopic(tid, 'Feature') 97 99 tid = self.invokeFactory('Topic', id='places', title='Places') 98 100 self.initTopic(tid, 'Place') pleiades.workspace/trunk/pleiades/workspace/tests/base.py
r1355 r1359 63 63 try: 64 64 test.setRoles(('Manager', 'Contributor')) 65 test.portal.invokeFactory(' Large Plone Folder', id='names')65 test.portal.invokeFactory('NameContainer', id='names') 66 66 test.portal.invokeFactory('LocationContainer', id='locations') 67 test.portal.invokeFactory('FeatureContainer', id='features') 67 68 test.portal.invokeFactory('PlaceContainer', id='places') 68 69 except: pleiades.workspace/trunk/pleiades/workspace/tests/factory.txt
r1355 r1359 21 21 >>> 'places' in ws.objectIds() 22 22 True 23 >>> 'features' in ws.objectIds() 24 True 23 25 >>> 'locations' in ws.objectIds() 24 26 True pleiades.workspace/trunk/pleiades/workspace/tests/kml-import.txt
r1355 r1359 14 14 >>> ws = folder[wsid] 15 15 >>> 'places' in ws.objectIds() 16 True 17 >>> 'features' in ws.objectIds() 16 18 True 17 19 >>> 'locations' in ws.objectIds() … … 61 63 Verify import 62 64 63 >>> ' apollonia-sozousa-portus-cyrenorum' in [o.idfor o in ws['names'].queryCatalog()]65 >>> 'Apollonia/Sozousa/Portus Cyrenorum' in [o.Title for o in ws['names'].queryCatalog()] 64 66 True 65 >>> ' ptolemais-barkes-limen' in [o.id for o in ws['names'].queryCatalog()]67 >>> 'Ptolemais/Barkes Limen' in [o.Title for o in ws['features'].queryCatalog()] 66 68 True 67 69 >>> len(list(ws['locations'].queryCatalog())) pleiades.workspace/trunk/pleiades/workspace/tests/xml-import.txt
r1355 r1359 14 14 >>> ws = folder[wsid] 15 15 >>> 'places' in ws.objectIds() 16 True 17 >>> 'features' in ws.objectIds() 16 18 True 17 19 >>> 'locations' in ws.objectIds() … … 64 66 >>> len(list(ws['places'].queryCatalog())) 65 67 315 66 >>> ' aloanda' in [o.idfor o in ws['names'].queryCatalog()]68 >>> 'Aloanda' in [o.Title for o in ws['names'].queryCatalog()] 67 69 True
