def match_request(self, req): """Return whether the handler wants to process the given request.""" try: get_scalar(self.env, "SELECT the_geom FROM georegions LIMIT 1") except: return False return req.path_info.strip('/') == 'region.kml'
def version(self): """returns version of the database (an int)""" version = get_scalar(self.env, "select value from system where name = 'multireposearch.sqlindexer.db_version';") if version: return int(version) return 0
def version(self): """Returns version of the database (an int)""" version = get_scalar(self.env, """SELECT value FROM system WHERE name = 'autocompleteplugin.db_version';""") if version: return int(version) return 0
def version(self): """returns version of the database (an int)""" version = get_scalar( self.env, "select value from system where name = 'geoticket.db_version';") if version: return int(version) return 0
def process_request(self, req): """Process the request. For ClearSilver, return a (template_name, content_type) tuple, where `template` is the ClearSilver template to use (either a `neo_cs.CS` object, or the file name of the template), and `content_type` is the MIME type of the content. For Genshi, return a (template_name, data, content_type) tuple, where `data` is a dictionary of substitutions for the template. For both templating systems, "text/html" is assumed if `content_type` is `None`. Note that if template processing should not occur, this method can simply send the response itself and not return anything. """ gids = get_column(self.env, 'georegions', 'gid') regions = {} georegions_columns = columns(self.env, 'georegions') for gid in gids: regions[gid] = {} regions[gid]['data'] = {} _columns = [ column for column in georegions_columns if column not in set(['gid', 'the_geom']) ] for column in _columns: regions[gid]['data'][column] = get_scalar(self.env, "SELECT %s FROM georegions WHERE gid=%s" % (column, gid)) regions[gid]['region'] = Markup(get_scalar(self.env, "SELECT ST_AsKML(the_geom) FROM georegions WHERE gid=%s" % gid)) # filter out non-matching results # XXX this is hacky, but I'm not sure how to do this in SQL filter = {} for key, value in req.args.items(): if key in georegions_columns: filter[key] = value for key in regions.keys(): for _key, _value in filter.items(): if str(regions[key]['data'][_key]) != _value: del regions[key] break return 'region.kml', dict(regions=regions), 'application/vnd.google-earth.kml+xml'
def default_image(self, ticket_id, size=None): image = get_scalar(self.env, "SELECT image FROM default_image WHERE ticket=%s" % ticket_id) imagetrac = ImageTrac(self.env) images = imagetrac.images(ticket_id) if image: if not size: size = "default" if size in images[image]: return image # find an image that works for i in images: if size: if size in images[i]: return i else: return i
def default_image(self, ticket_id, size=None): image = get_scalar( self.env, "SELECT image FROM default_image WHERE ticket=%s" % ticket_id) imagetrac = ImageTrac(self.env) images = imagetrac.images(ticket_id) if image: if not size: size = 'default' if size in images[image]: return image # find an image that works for i in images: if size: if size in images[i]: return i else: return i
def captcha(self, req): return get_scalar(self.env, "SELECT word FROM captcha WHERE id=%s", 0, req.args['captchaid'])
def _last_known_rev(self, reponame): indexed_rev = get_scalar(self.env, "SELECT version FROM repository_version WHERE repo=%s", 0, reponame) return indexed_rev
def srid(self): """returns the SRID of the region""" try: return get_scalar(self.env, "SELECT srid FROM geometry_columns WHERE f_table_name='georegions'") except: return None
def version(self): """returns version of the database (an int)""" version = get_scalar(self.env, "select value from system where name = 'geoticket.db_version';") if version: return int(version) return 0