Beispiel #1
0
    def __init__(self, *args, **kwargs):
        super(Coverage,self).__init__(*args, **kwargs)

        parameters = ['name', 'srs', 'coverage_store', 'units']

        for k in kwargs:
            if k == 'coverage_store' and is_string(kwargs[k]) and 'workspace' in kwargs:
                workspace = kwargs['workspace']
                self.coverage_store = get_coverage_store(workspace = workspace if is_string(workspace) else workspace.name, name = kwargs['coverage_store']) 
            elif k in parameters:
                self.__setattr__(k, kwargs[k])

        if self.coverage_store:
            world_file = open(self.world_file_path())
            image_file_path = self.image_file_path()
            (self.width, self.height) = Image.open(image_file_path).size
Beispiel #2
0
    def __init__(self, *args, **kwargs):
        super(CoverageStore, self).__init__(*args, **kwargs)

        attributes = ['name', 'url', 'type', 'enabled', 'workspace']

        for k in kwargs:
            if k == 'workspace' and is_string(kwargs[k]):
                self.workspace = get_workspace({'name': kwargs[k]})
            elif k in attributes:
                self.__setattr__(k, kwargs[k])
Beispiel #3
0
    def __init__(self, *args, **kwargs):
        super(CoverageStore, self).__init__(*args, **kwargs)

        attributes = ['name', 'url', 'type', 'enabled', 'workspace']

        for k in kwargs:
            if k == 'workspace' and is_string(kwargs[k]):
                self.workspace = get_workspace({'name':kwargs[k]})
            elif k in attributes:
                self.__setattr__(k, kwargs[k])
Beispiel #4
0
    def __init__(self, *args, **kwargs):
        super(Coverage, self).__init__(*args, **kwargs)

        parameters = ['name', 'srs', 'coverage_store', 'units']

        for k in kwargs:
            if k == 'coverage_store' and is_string(
                    kwargs[k]) and 'workspace' in kwargs:
                workspace = kwargs['workspace']
                self.coverage_store = get_coverage_store(
                    workspace=workspace
                    if is_string(workspace) else workspace.name,
                    name=kwargs['coverage_store'])
            elif k in parameters:
                self.__setattr__(k, kwargs[k])

        if self.coverage_store:
            world_file = open(self.world_file_path())
            image_file_path = self.image_file_path()
            (self.width, self.height) = Image.open(image_file_path).size
Beispiel #5
0
def get_coverage(coverage_store=None, name=None):
    if not name and not coverage_store:
        return None 

    if is_string(coverage_store):
        coverage_store = get_coverage_store(name=coverage_store)

    url = "%s/coverages/%s" % (coverage_store.url_with_name(), name)
    auth = (gs_username, gs_password)
    headers = {"Accept": "application/json"}
    
    response = requests.get(url=url, auth=auth, headers=headers)

    return Coverage(json=response.json(), coverage_store=coverage_store)
Beispiel #6
0
def get_coverage(coverage_store=None, name=None):
    if not name and not coverage_store:
        return None

    if is_string(coverage_store):
        coverage_store = get_coverage_store(name=coverage_store)

    url = "%s/coverages/%s" % (coverage_store.url_with_name(), name)
    auth = (GEOSERVER['USER'], GEOSERVER['PASSWORD'])
    headers = {"Accept": "application/json"}

    response = requests.get(url=url, auth=auth, headers=headers)

    return Coverage(json=response.json(), coverage_store=coverage_store)
Beispiel #7
0
    def as_dictionary(self, fields):
        if type(fields) != list and type(fields) != tuple:
            if is_string(fields):
                fields = fields.split(",")
            else:
                return None

        d = {}

        for field in fields:
            if hasattr(self, field):
                d[field] = self.__getattribute__(field)

        return d
Beispiel #8
0
    def as_dictionary(self, fields, include_collection=False):
        if type(fields) != list and type(fields) != tuple:
            if is_string(fields):
                fields = fields.split(",")
            else:
                return None

        d = {}

        for field in fields:
            if hasattr(self, field):
                d[field] = self.__getattribute__(field)

        if (include_collection):
            d["collection"] = self.collection.name

        return d
Beispiel #9
0
    def json_from_db(self, fields):
        if type(fields) != list and type(fields) != tuple:
            if is_string(fields):
                fields = fields.split(",")
            else:
                return None

        s = "SELECT row_to_json(t) from (SELECT"

        for f in fields:
            s = "%s \"%s\"," % (s, f)

        s = "%s from ogp_item WHERE \"LayerId\" = %%s) t;" % (s[:-1])

        cursor = connection.cursor()
        cursor.execute(s, [self.LayerId])

        return cursor.fetchone()[0]
Beispiel #10
0
    def json_from_db(self, fields):
        if type(fields) != list and type(fields) != tuple:
            if is_string(fields):
                fields = fields.split(",")
            else:
                return None

        s = "SELECT row_to_json(t) from (SELECT"

        for f in fields:
            s = "%s \"%s\"," % (s, f)
        
        s = "%s from ogp_item WHERE \"LayerId\" = %%s) t;" % (s[:-1])

        cursor = connection.cursor()
        cursor.execute(s, [self.LayerId])

        return cursor.fetchone()[0]
Beispiel #11
0
def get_coverage_store(json={}, workspace="ogp", name=None):
    if 'name' in json and 'workspace' in json:
        name = json['name']
        workspace = json['workspace']['name']
    elif not workspace or not name:
        return None

    if is_string(workspace):
        workspace = Workspace(name=workspace)

    url = "%s/coveragestores/%s" % (workspace.url_with_name(), name)
    auth = (gs_username, gs_password)
    headers = {"Accept": "application/json"}

    response = requests.get(url=url, auth=auth, headers=headers)

    if response.status_code == 404:
        return None

    return CoverageStore(json=response.json())
Beispiel #12
0
def get_coverage_store(json={}, workspace="ogp", name=None):
    if 'name' in json and 'workspace' in json:
        name = json['name']
        workspace = json['workspace']['name']
    elif not workspace or not name:
        return None

    if is_string(workspace):
        workspace = Workspace(name=workspace)

    url = "%s/coveragestores/%s" % (workspace.url_with_name(), name)
    auth = (GEOSERVER['USER'], GEOSERVER['PASSWORD'])
    headers = {"Accept": "application/json"}

    response = requests.get(url=url, auth=auth, headers=headers)

    if response.status_code == 404:
        return None

    return CoverageStore(json=response.json())