Skip to content
Snippets Groups Projects
Unverified Commit 27339b16 authored by David Hoese's avatar David Hoese
Browse files

Update files api documentation examples so they work

parent bb0afc5a
No related branches found
No related tags found
No related merge requests found
......@@ -83,10 +83,7 @@ def get_data(dates, streams, frame=True):
def handleCSV(frame):
# Normalize the frame that was given so we only have expected information
columns = ['filename', 'url', 'site', 'inst', 'level', 'version', 'size']
frame = frame[columns]
body = StringIO()
output = StringIO()
......@@ -94,15 +91,17 @@ def handleCSV(frame):
output.write('# status: success\n# code: 200\n# message:\n')
output.write('# num_results: ' + str(len(list(frame.index))) + '\n')
output.write('# Fields: {}'.format(', '.join(columns)))
output.write('# Fields: {}'.format(','.join(columns)))
output.write('\n' + body.getvalue())
if frame.empty:
return output.getvalue()
# Normalize the frame that was given so we only have expected information
frame = frame[columns]
for row in frame.values:
output.write(', '.join(str(x) for x in row) + '\n')
output.write(','.join(str(x) for x in row) + '\n')
return output.getvalue()
......
......@@ -167,6 +167,15 @@
End of the query interval in UTC as YYYY-MM-DD. If not provided, it defaults to today.
</td>
</tr>
<tr>
<td style='padding: 6px;'>
<b>dates:</b>
</td>
<td style='padding: 6px;'>
Individual query dates separated by colons in the format of YYYY-MM-DD. If provided,
this parameter overrides the begin and end parameters.
</td>
</tr>
</table>
</div>
</div>
......@@ -258,51 +267,40 @@
<li style='font-size: 15px'>
Latest ASCII file for AOSS Tower:
<ul>
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.tower.ascii.l00') }}" }}>
{{ url_for('get_files', fmt='csv', streams='aoss.tower.ascii.level_00') | replace('%3A', ':') }}
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.tower.ascii.l00.*') }}" }}>
{{ url_for('get_files', fmt='csv', streams='aoss.tower.ascii.level_00.*') | replace('%3A', ':') | replace('%2A', '*') }}
</a>
</ul>
</li>
<li style='font-size: 15px'>
Latest .SCR files AOSS AERI:
<ul>
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.R_SCR.l00:aoss.aeri.E_SCR.l00:aoss.aeri.Y_SCR.l00') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.R_SCR.l00:aoss.aeri.E_SCR.l00:aoss.aeri.Y_SCR.l00') | replace('%3A', ':') }}
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.scr-aesitter.l00.*:aoss.aeri.scr-radiance.l00.*:aoss.aeri.scr-summary.l00.*') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.scr-aesitter.l00.*:aoss.aeri.scr-radiance.l00.*:aoss.aeri.scr-summary.l00.*') | replace('%3A', ':') | replace('%2A', '*') }}
</a>
</ul>
</li>
<li style='font-size: 15px'>
Last 2 days of all AOSS AERI files:
Last 2 days of all AOSS AERI level 00 files:
<ul>
<a href="{{ url_for('get_files', fmt='csv', streams=('aoss.aeri.PAR.l00:aoss.aeri.QC.l00:aoss.aeri.SUM.l00:' +
'aoss.aeri.B1_CXS.l00:aoss.aeri.B1_UVS.l00:aoss.aeri.B2_CXS.l00:aoss.aeri.B2_UVS.l00:aoss.aeri.C1_RNC.l00:aoss.aeri.C2_RNC.l00:' +
'aoss.aeri.F1_CSV.l00:aoss.aeri.F1_CXS.l00:aoss.aeri.F1_UVS.l00:aoss.aeri.F2_CSV.l00:aoss.aeri.F2_CXS.l00:aoss.aeri.F2_UVS.l00:' +
'aoss.aeri.R_SCR.l00:aoss.aeri.E_SCR.l00:aoss.aeri.Y_SCR.l00'), begin='-2') }}" >
<!-- 'aoss.aeri.B1_CXS.l00:aoss.aeri.B1_UVS.l00:aoss.aeri.B2_CXS.l00:aoss.aeri.B2_UVS.l00:aoss.aeri.C1_RNC.l00:aoss.aeri.C2_RNC.l00:' +
aoss.aeri.F1_CSV.l00:aoss.aeri.F1_CXS.l00:aoss.aeri.F1_UVS.l00:aoss.aeri.F2_CSV.l00:aoss.aeri.F2_CXS.l00:aoss.aeri.F2_UVS.l00' +
'aoss.aeri.R_SCR.l00:aoss.aeri.E_SCR.l00:aoss.aeri.Y_SCR.l00'), begin='-2') }} "> -->
{{ url_for('get_files', fmt='csv', streams=('aoss.aeri.PAR.l00:aoss.aeri.QC.l00:aoss.aeri.SUM.l00:' +
'aoss.aeri.B1_CXS.l00:aoss.aeri.B1_UVS.l00:aoss.aeri.B2_CXS.l00:aoss.aeri.B2_UVS.l00:aoss.aeri.C1_RNC.l00:aoss.aeri.C2_RNC.l00:' +
'aoss.aeri.F1_CSV.l00:aoss.aeri.F1_CXS.l00:aoss.aeri.F1_UVS.l00:aoss.aeri.F2_CSV.l00:aoss.aeri.F2_CXS.l00:aoss.aeri.F2_UVS.l00' +
'aoss.aeri.R_SCR.l00:aoss.aeri.E_SCR.l00:aoss.aeri.Y_SCR.l00'
), begin='-2') | replace('%3A', ':') }}
<a href="{{ url_for('get_files', fmt='csv', streams=('aoss.aeri.*.l00.*',), begin='-2') }}" >
{{ url_for('get_files', fmt='csv', streams=('aoss.aeri.*.l00.*',), begin='-2') | replace('%3A', ':') | replace('%2A', '*') }}
</a>
</ul>
</li>
<li style='font-size: 15px'>
AOSS AERI Par, QC, and B1.UVS files for 2016-07-11
<ul>
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.PAR.l00:aoss.aeri.QC.l00:aoss.aeri.B1_UVS.l00', begin='2016-07-11', end='2016-07-11') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.PAR.l00:aoss.aeri.QC.l00:aoss.aeri.B1_UVS.l00', begin='2016-07-11', end='2016-07-11') | replace('%3A', ':') }}
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.par.l00.*:aoss.aeri.qc.l00.*:aoss.aeri.uvs-b1.l00.*', dates='2016-07-11') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.par.l00.*:aoss.aeri.qc.l00.*:aoss.aeri.uvs-b1.l00.*', dates='2016-07-11') | replace('%3A', ':') | replace('%2A', '*') }}
</a>
</ul>
</li>
<li style='font-size: 15px'>
AOSS AERI Par and AOSS Tower ASCII files for 2016-07-11
<ul>
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.PAR.l00:aoss.tower.ascii.l00', begin='2016-07-11', end='2016-07-11') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.PAR.l00:aoss.tower.ascii.l00', begin='2016-07-11', end='2016-07-11') | replace('%3A', ':') }}
<a href="{{ url_for('get_files', fmt='csv', streams='aoss.aeri.par.l00.*:aoss.tower.ascii.l00.*', dates='2016-07-11') }}">
{{ url_for('get_files', fmt='csv', streams='aoss.aeri.par.l00.*:aoss.tower.ascii.l00.*', dates='2016-07-11') | replace('%3A', ':') | replace('%2A', '*') }}
</a>
</ul>
</li>
......
......@@ -60,15 +60,15 @@ ARCHIVE_INFO = {
'products': {
'par': {
'frequency': ProductFrequency.DAILY_DIR,
'pattern': '%y%m%d.par',
'pattern': '%y%m%d.PAR',
},
'qc': {
'frequency': ProductFrequency.DAILY_DIR,
'pattern': '%y%m%d.qc',
'pattern': '%y%m%d.QC',
},
'sum': {
'frequency': ProductFrequency.DAILY_DIR,
'pattern': '%y%m%d.sum',
'pattern': '%y%m%d.SUM',
},
'scr-aesitter': {
'frequency': ProductFrequency.DAILY_DIR,
......@@ -97,6 +97,7 @@ ARCHIVE_INFO = {
}
# Add the other AERI file types
for file_suffix in ('B1.CXS',
'B1.UVS',
'B2.CXS',
'B2.UVS',
'C1.RNC',
......@@ -198,5 +199,5 @@ ERROR_MESSAGES = {
'missing_level': (400, 'missing or unknown level parameter'),
'missing_stream_pattern': (400, 'missing or unknown stream pattern parameter'),
'missing_version': (400, 'missing or unknown version parameter'),
'unknown_stream': (400, 'unknown stream ID, expected <site>.<inst>.<level=lXX>.<pattern>.<versionXX or \"*\">'),
'unknown_stream': (400, "unknown stream ID, expected 'site'.'inst'.'level=lXX'.'pattern'.'versionXX or \"*\"'"),
}
import os
from metobsapi.common_config import *
from metobsapi.util import FAKE_ARCHIVE_PATH, create_fake_archive, ProductFrequency
from metobsapi.util import FAKE_ARCHIVE_PATH, create_fake_archive
from metobsapi.util.file_responses import ARCHIVE_INFO
ARCHIVE_INFO = {
'aoss': {
'tower': {
'00': {
'ascii': {
'frequency': ProductFrequency.DAILY_FILE,
'pattern': 'rig_tower.%Y-%m-%d.ascii',
},
},
},
},
'mendota': {
},
}
if not os.path.exists(FAKE_ARCHIVE_PATH):
create_fake_archive(ARCHIVE_INFO)
ARCHIVE_ROOT = FAKE_ARCHIVE_PATH
\ No newline at end of file
create_fake_archive(ARCHIVE_INFO, root=FAKE_ARCHIVE_PATH)
ARCHIVE_ROOT = FAKE_ARCHIVE_PATH
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment