Skip to content
Snippets Groups Projects
Commit 6649b8aa authored by Hunsinger, Heather Elizabeth's avatar Hunsinger, Heather Elizabeth
Browse files

Show documentation page for empty query string

parent cb59f2bd
No related branches found
No related tags found
No related merge requests found
......@@ -80,6 +80,9 @@ class WebService(object):
def __call__(self, environ, start_response):
"""Implement WSGI interface"""
if environ['QUERY_STRING'] == '':
usage_page = WebServiceUsage().set_usage_page(start_response)
return[usage_page]
try:
# parse params
query = self.parse(parse_qs(environ['QUERY_STRING']))
......@@ -87,12 +90,8 @@ class WebService(object):
except Exception:
exception = sys.exc_info()[1]
message = exception.args[0]
if message == '"id" is a required parameter.':
usage_page = WebServiceUsage().set_usage_page(start_response)
return[usage_page]
else:
error_body = self.error(400, message, environ, start_response)
return [error_body]
error_body = self.error(400, message, environ, start_response)
return [error_body]
try:
# fetch timeseries
timeseries = self.fetch(query)
......
......@@ -2,6 +2,7 @@
from datetime import datetime
from geomagio.ObservatoryMetadata import ObservatoryMetadata
class WebServiceUsage(object):
def __init__(self, metadata=None):
metadata = metadata or ObservatoryMetadata().metadata.keys()
......@@ -18,7 +19,8 @@ class WebServiceUsage(object):
<head>
<title>Geomag Web Service Usage</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="viewport" content="width=device-width,
initial-scale=1"/>
<link href="/theme/site/geomag/index.scss" type="text/css">
<style>
code,
......@@ -40,9 +42,11 @@ class WebServiceUsage(object):
<h2>Example Requests</h3>
<dl>
<b>BOU observatory data for current UTC day in IAGA2002 format</b>
<b>BOU observatory data for current UTC day in IAGA2002
format</b>
<dd>
<a href="http://geomag.usgs.gov/ws/edge/?id=BOU">http://geomag.usgs.gov/ws/edge/?id=BOU</a>
<a href="http://geomag.usgs.gov/ws/edge/?id=BOU">
http://geomag.usgs.gov/ws/edge/?id=BOU</a>
</dd>
......@@ -59,7 +63,8 @@ class WebServiceUsage(object):
<dd>
Time of first requested data.<br/>
Default: start of current UTC day<br/>
Format: ISO8601 (<code>YYYY-MM-DDTHH:MM:SSZ</code>)<br/>
Format: ISO8601
(<code>YYYY-MM-DDTHH:MM:SSZ</code>)<br/>
Example: <code>{date}</code>
</dd>
......@@ -67,7 +72,8 @@ class WebServiceUsage(object):
<dd>
Time of last requested data.<br/>
Default: starttime + 24 hours<br/>
Format: ISO8601 (<code>YYYY-MM-DDTHH:MM:SSZ</code>)<br/>
Format: ISO8601
(<code>YYYY-MM-DDTHH:MM:SSZ</code>)<br/>
Example: <code>{date}</code>
</dd>
......@@ -75,6 +81,9 @@ class WebServiceUsage(object):
<dd>
Comma separated list of requested elements.<br/>
Default: <code>X,Y,Z,F</code><br/>
Valid values: <code>D, DIST, DST, E, E-E, E-N, F, G,
H, SQ, SV, UK1, UK2, UK3, UK4, X, Y, Z</code>
<br/>
</dd>
<b>sampling_period</b>
<dd>
......@@ -110,11 +119,14 @@ class WebServiceUsage(object):
<nav class="site-footer">
<p> Not what you were looking for?<br/>
Search usa.gov: </p>
<form class="site-search" role="search" action="//search.usa.gov/search" method="get" accept-charset="UTF-8">
<form class="site-search" role="search"
action="//search.usa.gov/search" method="get"
accept-charset="UTF-8">
<input name="utf8" type="hidden" value="x"/>
<input name="affiliate" type="hidden" value="usgs"/>
<input name="sitelimit" type="hidden" />
<input id="query" name="query" type="search" placeholder="Search usa.gov..." title="Search"/>
<input id="query" name="query" type="search"
placeholder="Search usa.gov..." title="Search"/>
<button type="submit">Search</button>
</form>
</nav>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment