Skip to content

Commit e460d27

Browse files
committed
close #87 fix key column issue
1 parent eec3e2f commit e460d27

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

geo/Geoserver.py

+14-12
Original file line numberDiff line numberDiff line change
@@ -1948,7 +1948,15 @@ def publish_featurestore_sqlview(
19481948
if workspace is None:
19491949
workspace = "default"
19501950

1951-
layer_xml = """<name>{0}</name>
1951+
# issue #87
1952+
if key_column is not None:
1953+
key_column_xml = """<keyColumn>{}</keyColumn>""".format(key_column)
1954+
1955+
else:
1956+
key_column_xml = """"""
1957+
1958+
layer_xml = """<featureType>
1959+
<name>{0}</name>
19521960
<enabled>true</enabled>
19531961
<namespace>
19541962
<name>{4}</name>
@@ -1965,20 +1973,14 @@ def publish_featurestore_sqlview(
19651973
<name>{2}</name>
19661974
<type>{3}</type>
19671975
<srid>{5}</srid>
1968-
</geometry>
1976+
</geometry>{6}
19691977
</virtualTable>
19701978
</entry>
1971-
</metadata>""".format(
1972-
name, sql, geom_name, geom_type, workspace, srid
1979+
</metadata>
1980+
</featureType>""".format(
1981+
name, sql, geom_name, geom_type, workspace, srid, key_column_xml
19731982
)
19741983

1975-
# issue #87
1976-
if key_column is not None:
1977-
layer_xml += """<keyColumn>{}</keyColumn>""".format(key_column)
1978-
1979-
# final xml structure to post
1980-
layer_xml_post = """<featureType>{}</featureType>""".format(layer_xml)
1981-
19821984
# rest API url
19831985
url = "{}/rest/workspaces/{}/datastores/{}/featuretypes".format(
19841986
self.service_url, workspace, store_name
@@ -1990,7 +1992,7 @@ def publish_featurestore_sqlview(
19901992
# request
19911993
r = requests.post(
19921994
url,
1993-
data=layer_xml_post,
1995+
data=layer_xml,
19941996
auth=(self.username, self.password),
19951997
headers=headers,
19961998
)

0 commit comments

Comments
 (0)