Beispiel #1
0
 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
Beispiel #4
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
Beispiel #5
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'
Beispiel #6
0
    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
Beispiel #7
0
    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
Beispiel #8
0
 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
Beispiel #10
0
 def captcha(self, req):
     return get_scalar(self.env, "SELECT word FROM captcha WHERE id=%s", 0,
                       req.args['captchaid'])
Beispiel #11
0
 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
Beispiel #12
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