def create_datastore(sync_job, task_metadata, task_status): name = store_name(sync_job) try: d_gs = gs.get_store(name) except: d_gs = gs.create_datastore(name, sync_job["workspace"]) d_gs.connection_parameters = dict(GEOSERVER_PGSQL_CONNECTION_DEFAULTS) d_gs.connection_parameters.update( {"schema": sync_job["schema"], "namespace": GEOSERVER_WORKSPACE_NAMESPACE.format(sync_job["workspace"])} ) gs.save(d_gs) d_gs = gs.get_store(name) if not d_gs: raise Exception("Create data store for workspace({0}) in geoserver failed.".format(sync_job["workspace"]))
def get_datastore(sync_job): d_gs = gs.get_store(store_name(sync_job)) if not d_gs: raise Exception("Datastore ({0}) does not exist".format(store_name(sync_job))) return d_gs
def delete_datastore(sync_job, task_metadata, task_status): name = store_name(sync_job) try: d_gs = gs.get_store(name) except: # datastore not exist return gs.delete(d_gs)
def create_datastore(sync_job, task_metadata, task_status): name = store_name(sync_job) try: d_gs = gs.get_store(name) except: d_gs = gs.create_datastore(name, sync_job["workspace"]) d_gs.connection_parameters = dict(GEOSERVER_PGSQL_CONNECTION_DEFAULTS) for k in d_gs.connection_parameters.iterkeys(): if k in sync_job: d_gs.connection_parameters[k] = str(sync_job[k]) d_gs.connection_parameters["namespace"] = GEOSERVER_WORKSPACE_NAMESPACE.format(sync_job["workspace"]) if "geoserver_setting" in sync_job: for k, v in sync_job["geoserver_setting"].iteritems(): d_gs.connection_parameters[k] = str(v) gs.save(d_gs) d_gs = gs.get_store(name) if not d_gs: raise Exception("Create data store for workspace({0}) in geoserver failed.".format(sync_job["workspace"]))