Changeset 459
- Timestamp:
- 01/11/06 13:11:29 (5 years ago)
- Location:
- PrimaGIS/trunk
- Files:
-
- 9 modified
-
CHANGES.txt (modified) (1 diff)
-
Extensions/Install.py (modified) (2 diffs)
-
PrimaGISMap.py (modified) (1 diff)
-
skins/primagis/createPrimaGISDemo.py (modified) (3 diffs)
-
tests/__init__.py (modified) (1 diff)
-
tests/rununittests (modified) (1 diff)
-
tests/testPrimaGISDataLayer.py (modified) (2 diffs)
-
tests/testPrimaGISLayer.py (modified) (3 diffs)
-
tests/testPrimaGISMap.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
PrimaGIS/trunk/CHANGES.txt
r447 r459 12 12 13 13 Features 14 14 * Ticket: #80: Use the ZCO MapRendererTool (portal_maprenderer). 15 15 16 16 0.5.0 (21.12.2005) -
PrimaGIS/trunk/Extensions/Install.py
r449 r459 260 260 "%s != %s" % (src.getProperty(prop_id), dest.getProperty(prop_id)) 261 261 262 def install_zco(self, out): 263 """ 264 Install the CMF aware parts of ZCO. 265 """ 266 try: 267 maprenderer = getToolByName(self, 'portal_maprenderer') 268 # Nothing to do 269 except AttributeError: 270 # Install ZCO 271 getToolByName(self, 'portal_quickinstaller').installProduct('ZCO') 272 # Allow the AttributeError to propagate if the installation failed. 273 maprenderer = getToolByName(self, 'portal_maprenderer') 274 print >> out, "Installed ZCO MapRendererTool at %s" % "/".join(maprenderer.getPhysicalPath()) 275 276 262 277 def install(self): 263 278 out = StringIO() … … 269 284 install_subskin(self, out, GLOBALS) 270 285 install_folder_tabs(self, out) 286 install_zco(self, out) 271 287 migrate_pre_0_5_0(self, out) 272 288 -
PrimaGIS/trunk/PrimaGISMap.py
r453 r459 573 573 Returns the ZCO Map Renderer object used for rendering this map. 574 574 """ 575 return getattr(self.getZCOContainer(), MAP_RENDERER, None) 575 # Look for an overridden maprenderer in the acquisition context 576 maprenderer = getattr(self.getZCOContainer(), MAP_RENDERER, None) 577 if maprenderer is None: 578 # Use the MapRendererTool as a fallback 579 maprenderer = getToolByName(self, 'portal_maprenderer') 580 return maprenderer 576 581 577 582 security.declarePublic("getLayerContainer") -
PrimaGIS/trunk/skins/primagis/createPrimaGISDemo.py
r455 r459 31 31 The demo instance assumes that you have installed the world_borders shapefile 32 32 (available from http://www.mappinghacks.com/data/world_borders.zip) and the 33 WORLD_BORDERS_OVF is configured accordingly. You can always change the 34 settings by modifying the properties of the 'mapper' (ZCO MapRenderer) object 35 through ZMI. 33 WORLD_BORDERS_OVF is configured accordingly. 36 34 37 35 Below is an example OGR Virtual File (.ovf) to be used with the world borders … … 58 56 # Location of the world_borders shapefile on the filesystem 59 57 WORLD_BORDERS_OVF = '/usr/local/mapdata/world/world_borders.ovf' 60 # Location of the fontset file61 FONTSET_FILE = '/usr/local/mapdata/fontset.txt'62 58 ## End of user configurable section ## 63 59 … … 85 81 demo.zco.manage_addProduct['OFSP'].manage_addFolder('symbolizers', title="Map symbolizers") 86 82 87 ## ZCO MapRenderer88 demo.zco.manage_addProduct['ZCO'].manage_addMapRenderer('mapper')89 demo.zco.mapper.manage_changeProperties(title='Map renderer')90 for prop in [('engine', 'MAPSERVER', 'string'),91 ('fsdataroot', '', 'string'),92 ('fontset', FONTSET_FILE, 'string'),93 ('incoming', TEMP_DIR, 'string')]:94 demo.zco.mapper.manage_addProperty(*prop)95 83 96 84 ## ZCO Datastores -
PrimaGIS/trunk/tests/__init__.py
r5 r459 1 # Fontset file used with the unit tests 2 TEST_FONTSET = '/usr/local/mapdata/fontset.txt' 3 4 # Incoming directory used with the unit tests 5 TEST_INCOMING = '/tmp' -
PrimaGIS/trunk/tests/rununittests
r362 r459 1 1 #!/bin/sh 2 2 3 export SOFTWARE_HOME=/usr/local/zope/lib/python4 3 /usr/bin/python runalltests.py 5 4 -
PrimaGIS/trunk/tests/testPrimaGISDataLayer.py
r395 r459 8 8 from Testing import ZopeTestCase 9 9 from AccessControl.SecurityManagement import newSecurityManager 10 from Products.CMFCore.utils import getToolByName 10 11 from Products.Archetypes.tests import ArchetypesTestCase 11 12 from Products.PrimaGIS.GeoArchetypesProxy import GeoArchetypesProxy 12 13 from Products.PrimaGIS.interfaces import IPrimaGISDataLayer 14 from Products.PrimaGIS.tests import TEST_FONTSET, TEST_INCOMING 13 15 from Products.ZCO.interfaces import IFeatureStoreProxy, IDataStoreProxy, ILayerProxy 14 16 from cartography import data, mapping … … 46 48 self.portal.portal_quickinstaller.installProduct('PrimaGIS') 47 49 self.portal.portal_quickinstaller.installProduct('DummyContent') 50 51 maprenderer = getToolByName(self.portal, 'portal_maprenderer') 52 maprenderer.manage_changeProperties({'fontset' : TEST_FONTSET, 53 'incoming' : TEST_INCOMING}) 48 54 49 55 def test_interface_IFeatureStoreProxy(self): -
PrimaGIS/trunk/tests/testPrimaGISLayer.py
r370 r459 8 8 from Testing import ZopeTestCase 9 9 from AccessControl.SecurityManagement import newSecurityManager 10 from Products.CMFCore.utils import getToolByName 10 11 from Products.Archetypes.tests import ArchetypesTestCase 11 12 from Products.PrimaGIS.interfaces import IPrimaGISLayer 13 from Products.PrimaGIS.tests import TEST_FONTSET, TEST_INCOMING 12 14 import os.path 13 15 … … 42 44 self.portal.portal_quickinstaller.installProduct('PrimaGIS') 43 45 self.portal.portal_quickinstaller.installProduct('DummyContent') 46 47 maprenderer = getToolByName(self.portal, 'portal_maprenderer') 48 maprenderer.manage_changeProperties({'fontset' : TEST_FONTSET, 49 'incoming' : TEST_INCOMING}) 44 50 45 51 def test_interface_IPrimaGISLayer(self): … … 89 95 self.createDemo() 90 96 # Render the WMS Layer 97 self.portal.demo.zco.layers.landsat_mosaic.manage_changeProperties({'bbox':'-50 -50 50 50'}) 91 98 f = open('testPrimaGISLayer_WMS_Landsat_300x300.png', 'w') 92 99 f.write(self.portal.demo.primagis.wms_landsat.view()) -
PrimaGIS/trunk/tests/testPrimaGISMap.py
r397 r459 8 8 from Testing import ZopeTestCase 9 9 from AccessControl.SecurityManagement import newSecurityManager 10 from Products.CMFCore.utils import getToolByName 10 11 from Products.Archetypes.tests import ArchetypesTestCase 11 12 from Products.PrimaGIS import config 12 13 from Products.PrimaGIS.interfaces import IPrimaGISMap 14 from Products.PrimaGIS.tests import TEST_FONTSET, TEST_INCOMING 13 15 from cartography.spatial import Point, BoundingBox 14 16 import os.path … … 64 66 # Install the products 65 67 self.portal.portal_quickinstaller.installProduct('PrimaGIS') 68 # Configure the MapRendererTool 69 maprenderer = getToolByName(self.portal, 'portal_maprenderer') 70 maprenderer.manage_changeProperties({'fontset' : TEST_FONTSET, 71 'incoming' : TEST_INCOMING}) 66 72 # We need DummyContent to create the demo hierarchy. If you're running 67 73 # Plone 2.1, you can also use 'Document' here. … … 120 126 def test_getMapRenderer(self): 121 127 self.createDemo() 122 self.assertEquals( self.portal.demo.zco.mapper,128 self.assertEquals(getToolByName(self.portal, 'portal_maprenderer'), 123 129 self.portal.demo.primagis.getMapRenderer()) 124 130
