# HG changeset patch # User casties # Date 1283438330 -7200 # Node ID c6c47034d2a4903179b80503f6ff0606c2115b32 # Parent 5627175461689daba64064096a7fabbced6f31ef more refactoring of templates gis can be rendered by pagetemplate diff -r 562717546168 -r c6c47034d2a4 RestDbGisApi.py --- a/RestDbGisApi.py Thu Sep 02 13:17:23 2010 +0200 +++ b/RestDbGisApi.py Thu Sep 02 16:38:50 2010 +0200 @@ -35,6 +35,14 @@ # data templates GIS_schema_table = PageTemplateFile('zpt/GIS_schema_table', globals()) + # and scripts + def KML_URL_schema_table(self,schema,table): + """KML_URL table function""" + self.REQUEST.RESPONSE.setHeader("Content-Type", "text/plain") + id = self.REQUEST.get('id',[]) + doc = self.REQUEST.get('doc',None) + return self.getKmlUrl(schema=schema,table=table,id=id,doc=doc) + def checkTableMetaPermission(self,action,schema,table,user=None): """returns if the requested action on the table is allowed""" @@ -83,25 +91,15 @@ RESPONSE = self.REQUEST.RESPONSE RESPONSE.setHeader('Access-Control-Allow-Origin', '*') - - # GIS gets special treatment - if resultFormat=="GIS": - id = REQUEST.get('id',[]) - doc = REQUEST.get('doc',None) - return self.showGoogleMap(schema=schema,table=table,id=id,doc=doc) - - elif resultFormat=="KML_URL": - id = REQUEST.get('id',[]) - doc = REQUEST.get('doc',None) - return self.getKmlUrl(schema=schema,table=table,id=id,doc=doc) - + # everything else has its own template pt = getattr(self.template, '%s_schema_table'%resultFormat, None) if pt is None: return "ERROR!! template %s_schema_table not found"%resultFormat - data = self.getTable(schema,table) - return pt(data=data,tablename=table) + #data = self.getTable(schema,table) + # templates have to get their own data + return pt(schema=schema,table=table) def createEmptyTable(self,schema,table,fields): @@ -140,14 +138,14 @@ # Methods for GoogleMaps creation - def showGoogleMap(self,schema='chgis',table='mpdl',id=[],doc=None): - logging.debug("showGoogleMap") - data = self.getDataForGoogleMap(schema,table,id,doc) - kmlFileName=self.getKMLname(data=data,table=table) - initializeStringForGoogleMaps="""onload=\"initialize(\'http://chinagis.mpiwg-berlin.mpg.de/chinagis/REST/daten/"""+kmlFileName+"""\')\""""#+str(data) - initializeStringForGoogleMaps=initializeStringForGoogleMaps.replace("None","0") - googleMap_page=self.htmlHead()+str(self.getGoogleMapString(kml=initializeStringForGoogleMaps)) - return googleMap_page +# def showGoogleMap(self,schema='chgis',table='mpdl',id=[],doc=None): +# logging.debug("showGoogleMap") +# data = self.getDataForGoogleMap(schema,table,id,doc) +# kmlFileName=self.getKMLname(data=data,table=table) +# initializeStringForGoogleMaps="""onload=\"initialize(\'http://chinagis.mpiwg-berlin.mpg.de/chinagis/REST/daten/"""+kmlFileName+"""\')\""""#+str(data) +# initializeStringForGoogleMaps=initializeStringForGoogleMaps.replace("None","0") +# googleMap_page=self.htmlHead()+str(self.getGoogleMapString(kml=initializeStringForGoogleMaps)) +# return googleMap_page def getKmlUrl(self,schema='chgis',table='mpdl',id=[],doc=None): logging.debug("getKmlUrl") @@ -248,10 +246,10 @@ return kmlFileName - def getGoogleMapString(self,kml): - logging.debug("getGoogleMapString") - printed= '
'%kml +"""\n