Example #1
0
 def commit (self):
     sql = """update txn set bbox = envelope(collect(shape)) from history
                 where history.txn_id = txn.uuid and txn.uuid = '%s'""" \
                 % self.txn_uuid
     cursor = self.db.cursor()
     cursor.execute(str(sql))
     PostGIS.commit(self)
Example #2
0
 def begin (self):
     PostGIS.begin(self)
     self.txn_uuid = uuid.uuid1().hex
     sql = """INSERT INTO txn (uuid, actor, message, commit_time)
                     VALUES ('%s', 1, 'message', now());""" % self.txn_uuid
     cursor = self.db.cursor()
     cursor.execute(str(sql))
class ShapeFileTestCase(unittest.TestCase):
    datasource = None
    server = None
    config = {'type': 'PostGIS',
              'title': 'All',
              'abstract': 'All',
              'dsn' : 'host=localhost dbname=test_gis_ch user=gisuser password=gisuser',
              'layer' : 'planet_osm_polygon',
              'fid': 'osm_id',
              'geometry': 'way',
              'srid' : '4326',
              'attribute_cols' : 'boundary,name,landuse',
              'bbox' : '5.95459 45.75986 10.52490 47.83528'}
    service = None

    def setUp(self):
        self.datasource = PostGIS('all', **self.config)
        self.server = Server({'all': self.datasource})
        self.service = SHP(self.server)
        
    def tearDown(self):
        self.service = None
        self.datasource = None
        self.server = None
    
    def testShapeFile(self):
        params = {'filter': '<Filter><Or>' +
                        '<PropertyIsEqualTo><ValueReference>landuse</ValueReference><Literal>vineyard</Literal></PropertyIsEqualTo>' +
                        '<PropertyIsEqualTo><ValueReference>boundary</ValueReference><Literal>administrative</Literal></PropertyIsEqualTo>' +
                    '</Or></Filter>',
                'typename': 'all',
                'version': '1.0.0',
                'request': 'GetFeature', 
                'service': 'WFS'
        }
        path_info = '/'
        host = 'http://localhost:8080'
        post_data = None
        request_method = 'GET'
        
        response = []
        
        self.service.parse(params, path_info, host, post_data, request_method)
        self.datasource.begin()
        for action in self.service.actions:
            method = getattr(self.datasource, action.method)
            result = method(action)
            response += result 
        self.datasource.commit()

        mime, data, headers = self.service.encode(response)
Example #4
0
class ShapeFileTestCase(unittest.TestCase):
    datasource = None
    server = None
    config = {'type': 'PostGIS',
              'title': 'All',
              'abstract': 'All',
              'dsn' : 'host=localhost dbname=test_gis_ch user=gisuser password=gisuser',
              'layer' : 'planet_osm_polygon',
              'fid': 'osm_id',
              'geometry': 'way',
              'srid' : '4326',
              'attribute_cols' : 'boundary,name,landuse',
              'LatLongBoundingBox' : '5.95459 45.75986 10.52490 47.83528'}
    service = None

    def setUp(self):
        self.datasource = PostGIS('all', **self.config)
        self.server = Server({'all': self.datasource})
        self.service = SHP(self.server)
        
    def tearDown(self):
        self.service = None
        self.datasource = None
        self.server = None
    
    def testShapeFile(self):
        params = {'filter': '<Filter><Or>' +
                        '<PropertyIsEqualTo><ValueReference>landuse</ValueReference><Literal>vineyard</Literal></PropertyIsEqualTo>' +
                        '<PropertyIsEqualTo><ValueReference>boundary</ValueReference><Literal>administrative</Literal></PropertyIsEqualTo>' +
                    '</Or></Filter>',
                'typename': 'all',
                'version': '1.0.0',
                'request': 'GetFeature', 
                'service': 'WFS'
        }
        path_info = '/'
        host = 'http://localhost:8080'
        post_data = None
        request_method = 'GET'
        
        response = []
        
        self.service.parse(params, path_info, host, post_data, request_method)
        self.datasource.begin()
        for action in self.service.actions:
            method = getattr(self.datasource, action.method)
            result = method(action)
            response += result 
        self.datasource.commit()

        mime, data, headers = self.service.encode(response)
Example #5
0
    def testObjectIdentifiers(self):
        self.datasource = PostGIS('all', **self.params)
        self.server = Server({'all': self.datasource})

        for fil, stmt in self.filters.iteritems():
            filterEncoding = filter.FilterEncoding(fil)
            filterEncoding.parse()
            self.assertEqual(stmt, filterEncoding.render(self.datasource))
Example #6
0
    def load(self):
        """Class method on Service class to load datasources
           and metadata from a configuration file."""

        self.metadata = {'default_service': 'WFS'}
        #if config.has_section("metadata"):
        #for key in config.options("metadata"):
        #metadata[key] = config.get("metadata", key)

        self.processes = {}
        for key in self.config['postgis'].keys():
            params = self.config['postgis'][key]
            datasource = PostGIS(key, **params)
            self.datasources[key] = datasource
 def setUp(self):
     self.datasource = PostGIS('all', **self.params)
     self.server = Server({'all': self.datasource})
Example #8
0
 def __init__(self, name, **args):
     PostGIS.__init__(self, name, **args)
 def setUp(self):
     self.datasource = PostGIS('all', **self.config)
     self.server = Server({'all': self.datasource})
     self.service = SHP(self.server)
Example #10
0
 def setUp(self):
     self.datasource = PostGIS('all', **self.config)
     self.server = Server({'all': self.datasource})
     self.service = SHP(self.server)