From 6c41beb1b0da6d88beb50009c85409adebcbc566 Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Wed, 19 Apr 2017 16:03:35 -0500 Subject: [PATCH] Starts splitting views/json routes into separate files --- pocwww/__init__.py | 52 +++++++++++++++++------------------ pocwww/cards.py | 43 +++++++++++++++++++++++++++++ pocwww/fluid_shots.py | 9 ++++++ pocwww/json.py | 8 ------ pocwww/measurements.py | 21 ++++++++------ pocwww/views.py | 62 ------------------------------------------ pocwww/well_tests.py | 9 ++++++ 7 files changed, 99 insertions(+), 105 deletions(-) create mode 100644 pocwww/cards.py create mode 100644 pocwww/fluid_shots.py create mode 100644 pocwww/well_tests.py diff --git a/pocwww/__init__.py b/pocwww/__init__.py index b3cfdb9..4afa9f8 100644 --- a/pocwww/__init__.py +++ b/pocwww/__init__.py @@ -126,72 +126,70 @@ def main(global_config, **settings): # SHARED ROUTES config.add_route('home', '/') config.add_route('json_snapshot', '/json') + config.add_route("json_users", "/json/users", factory='pocwww.security.UserLoginFactory') + # Cards config.add_route('cards_page', '/cards/{cards_date}/{page_num}') config.add_route('json_cards_page', '/json/cards/{cards_date}/{page_num}') config.add_route('cards_date', '/cards/{cards_date}') config.add_route('json_cards_date', '/json/cards/{cards_date}') - config.add_route('cards', '/cards') config.add_route('json_cards', '/json/cards') - config.add_route('card_single', "/card/view/{stroke_number}") config.add_route('json_card_single', "/json/card/view/{stroke_number}") + config.add_route('json_lastcard', "/json/lastcard") - config.add_route('values_all', "/values") - config.add_route('json_values_all', "/json/values") - - config.add_route('values_tag', "/values/tag/{tagname}") - - config.add_route('values_time', '/values/time/{time}') - config.add_route('json_values_time', '/json/values/time/{time}') + # Measurements + config.add_route('measurements_all', "/values") + config.add_route('measurements_all_json', "/json/values") + config.add_route('measurements_between_wparams_json', "/json/values/between/{startdt}/{enddt}") + config.add_route('measurements_between_json', "/json/values/between") + config.add_route("measurements_daterange_json", "/json/values/daterange") + config.add_route('measurements_singlebetween_wparams_json', "/json/values/tag/{tagname}/between/{startdt}/{enddt}") + config.add_route('measurements_singlebetween_json', "/json/values/tag/{tagname}") + config.add_route("measurements_singledaterange_json", "/json/values/tag/{tagname}/daterange") + config.add_route('measurements_single', "/values/tag/{tagname}") + # Gauge Off config.add_route('gaugeoff_all', '/gaugeoff') config.add_route('json_gaugeoff_all', '/json/gaugeoff') + # Fluid Shots config.add_route('fluidshots_all', '/fluidshots') config.add_route('json_fluidshots_all', '/json/fluidshots') + # Well Tests config.add_route('welltests_all', '/welltests') config.add_route('json_welltests_all', '/json/welltests') + # Run Status config.add_route('runstatus', '/runstatus') config.add_route('json_runstatus_page', '/json/runstatus/{page_num}') config.add_route('json_runstatus', '/json/runstatus') + config.add_route('json_runstatusnow', "/json/runstatusnow") + # Configuration config.add_route('json_config', '/json/config', factory='pocwww.security.UserLoginFactory') config.add_route('config', '/config', factory='pocwww.security.UserLoginFactory') + # Setpoints config.add_route('json_setpoints', '/json/setpoints', factory='pocwww.security.UserLoginFactory') config.add_route('json_mode', '/json/mode', factory='pocwww.security.UserLoginFactory') config.add_route('setpoints', '/setpoints', factory='pocwww.security.UserLoginFactory') + # Administration config.add_route('admin', '/admin', factory='pocwww.security.UserLoginFactory') config.add_route('auth', '/sign/{action}') config.add_route('register', '/register', factory='pocwww.security.UserLoginFactory') - # JSON-ONLY ROUTES - config.add_route('json_lastcard', "/json/lastcard") - config.add_route('json_runstatusnow', "/json/runstatusnow") - - config.add_route('json_valuesbetween_wparams', "/json/values/between/{startdt}/{enddt}") - config.add_route('json_valuesbetween', "/json/values/between") - config.add_route("json_valuesdaterange", "/json/values/daterange") - - config.add_route('json_singlevaluebetween_wparams', "/json/values/tag/{tagname}/between/{startdt}/{enddt}") - config.add_route('json_singlevaluebetween', "/json/values/tag/{tagname}") - config.add_route("json_singlevaluedaterange", "/json/values/tag/{tagname}/daterange") - + # POC Interface config.add_route("json_updateconfig", "/json/updateconfig", factory='pocwww.security.UserLoginFactory') - config.add_route("json_shake", '/json/cmd/shake', factory='pocwww.security.UserLoginFactory') config.add_route("json_cmd", '/json/cmd/{action}', factory='pocwww.security.UserLoginFactory') - - # config.add_route("json_cmd_start", "/json/cmd/start", factory='pocwww.security.UserLoginFactory') - # config.add_route("json_cmd_stop", "/json/cmd/stop", factory='pocwww.security.UserLoginFactory') - # config.add_route("json_cmd_shake", "/json/cmd/shake", factory='pocwww.security.UserLoginFactory') config.add_route("json_update_poc_address", "/json/updatepocaddress", factory='pocwww.security.UserLoginFactory') + config.add_route("json_shake", '/json/cmd/shake', factory='pocwww.security.UserLoginFactory') + + - config.add_route("json_users", "/json/users", factory='pocwww.security.UserLoginFactory') config.scan() return config.make_wsgi_app() diff --git a/pocwww/cards.py b/pocwww/cards.py new file mode 100644 index 0000000..c6ff0e1 --- /dev/null +++ b/pocwww/cards.py @@ -0,0 +1,43 @@ +from pyramid.view import view_config +from .view_helpers import * + + +@view_config(route_name="json_lastcard", renderer="prettyjson") +def json_lastcard(request): + return get_latest_card(request) + + +@view_config(route_name='cards', renderer='templates/datelist.jinja2') +@view_config(route_name='json_cards', renderer='prettyjson') +def cards(request): + return {'datelist': get_all_dates_with_cards(request), 'navgroup': 'cards'} + + +@view_config(route_name='cards_page', renderer='templates/cardlist.jinja2') +@view_config(route_name='cards_date', renderer='templates/cardlist.jinja2') +@view_config(route_name='json_cards_date', renderer='prettyjson') +@view_config(route_name='json_cards_page', renderer='prettyjson') +def cards_page(request): + cp = card_page(request) + cp['datelist'] = get_all_dates_with_cards(request) + return cp + + +@view_config(route_name='card_single', renderer='templates/cardsingle.jinja2') +@view_config(route_name='json_card_single', renderer='prettyjson') +def card_single(request): + card = {} + try: + card = list(request.db['cards'].find({"strokeNumber": int(request.matchdict['stroke_number'])}))[0] + except IndexError: + pass + + datepage_url = request.referrer.split("/")[3:] + page_num = 1 + carddate = "" + if len(datepage_url) > 2: + page_num = int(datepage_url[2]) + if len(datepage_url) > 1: + carddate = datepage_url[1] + + return {"card": card, 'navgroup': 'cards', 'datelist': get_all_dates_with_cards(request), 'date': carddate, 'datepage': page_num} diff --git a/pocwww/fluid_shots.py b/pocwww/fluid_shots.py new file mode 100644 index 0000000..203be11 --- /dev/null +++ b/pocwww/fluid_shots.py @@ -0,0 +1,9 @@ +from pyramid.view import view_config +from .view_helpers import * + + +@view_config(route_name="fluidshots_all", renderer="templates/fluidshots.jinja2") +@view_config(route_name="json_fluidshots_all", renderer="prettyjson") +def fluidshots_all(request): + fluidshots = list(request.db['fluidShots'].find()) + return {'navgroup': 'fluidshots', 'data': fluidshots} diff --git a/pocwww/json.py b/pocwww/json.py index 8686bbf..4f63a3c 100644 --- a/pocwww/json.py +++ b/pocwww/json.py @@ -4,14 +4,6 @@ from bson import json_util import requests import pytz - -# JSON -@view_config(route_name="json_lastcard", renderer="prettyjson") -def json_lastcard(request): - return get_latest_card(request) - - - @view_config(route_name="json_runstatusnow", renderer="prettyjson") def json_runstatusnow(request): status = False diff --git a/pocwww/measurements.py b/pocwww/measurements.py index 7442db5..c2778c7 100644 --- a/pocwww/measurements.py +++ b/pocwww/measurements.py @@ -139,7 +139,7 @@ def get_grouped_measurements_between(request, start_datetime, end_datetime, tagn return tag_data -@view_config(route_name='values_all', renderer="templates/valuesall.jinja2") +@view_config(route_name='measurements_all', renderer="templates/valuesall.jinja2") def values_page(request): latest_tag_values = [] latesttag_agg = request.db['measurements'].aggregate([ @@ -164,7 +164,7 @@ def values_page(request): return {'navgroup': 'values', "current_values": latest_tag_values} -@view_config(route_name='json_values_all', renderer='prettyjson') +@view_config(route_name='measurements_all_json', renderer='prettyjson') def values_all(request): end = datetime.now(tz=pytz.utc) try: # Attempt to get a value from the request. @@ -206,8 +206,8 @@ def values_all(request): return {'navgroup': 'values', 'values': all_values, "current_values": latest_tag_values} -@view_config(route_name="json_singlevaluebetween", renderer="prettyjson") -@view_config(route_name="json_singlevaluebetween_wparams", renderer="prettyjson") +@view_config(route_name="measurements_singlebetween_json", renderer="prettyjson") +@view_config(route_name="measurements_singlebetween_wparams_json", renderer="prettyjson") def json_singlevaluebetween(request): end = datetime.now(tz=pytz.utc) try: # Attempt to get a value from the request. @@ -229,8 +229,8 @@ def json_singlevaluebetween(request): return {'tag': all_values, 'start': start, 'end': end, 'tagname': request.matchdict['tagname']} -@view_config(route_name="json_valuesbetween", renderer="prettyjson") -@view_config(route_name="json_valuesbetween_wparams", renderer="prettyjson") +@view_config(route_name="measurements_between_json", renderer="prettyjson") +@view_config(route_name="measurements_between_wparams_json", renderer="prettyjson") def json_valuesbetween(request): end = datetime.now(tz=pytz.utc) try: # Attempt to get a value from the request. @@ -252,7 +252,7 @@ def json_valuesbetween(request): return {'values': tag_data, 'start': start, 'end': end} -@view_config(route_name="json_valuesdaterange", renderer="prettyjson") +@view_config(route_name="measurements_daterange_json", renderer="prettyjson") def json_valuesdaterange(request): date_limits = list(request.db['measurements'].aggregate([ {"$group": { @@ -264,7 +264,7 @@ def json_valuesdaterange(request): return {'first_date': date_limits['first'], 'last_date': date_limits['last']} -@view_config(route_name="json_singlevaluedaterange", renderer="prettyjson") +@view_config(route_name="measurements_singledaterange_json", renderer="prettyjson") def json_singlevaluedaterange(request): date_limits = list(request.db['measurements'].aggregate([ {"$match": {"tagname": request.matchdict['tagname']}}, @@ -275,3 +275,8 @@ def json_singlevaluedaterange(request): }} ]))[0] return {'first_date': date_limits['first'], 'last_date': date_limits['last']} + +@view_config(route_name="measurements_single", renderer="templates/values_single.jinja2") +def measurements_single(request): + tagname = request.matchdict['tagname'] + return {'navgroup': 'values', 'tagname': tagname} diff --git a/pocwww/views.py b/pocwww/views.py index bd69f8f..906fc9d 100644 --- a/pocwww/views.py +++ b/pocwww/views.py @@ -38,54 +38,6 @@ def my_view(request): return {'project': 'POC Web Interface', 'navgroup': 'dashboard', 'tag_values': latest_tag_values, 'card': latest_card} -@view_config(route_name='cards', renderer='templates/datelist.jinja2') -@view_config(route_name='json_cards', renderer='prettyjson') -def cards(request): - return {'datelist': get_all_dates_with_cards(request), 'navgroup': 'cards'} - - -@view_config(route_name='cards_page', renderer='templates/cardlist.jinja2') -@view_config(route_name='cards_date', renderer='templates/cardlist.jinja2') -@view_config(route_name='json_cards_date', renderer='prettyjson') -@view_config(route_name='json_cards_page', renderer='prettyjson') -def cards_page(request): - cp = card_page(request) - cp['datelist'] = get_all_dates_with_cards(request) - return cp - - -@view_config(route_name='card_single', renderer='templates/cardsingle.jinja2') -@view_config(route_name='json_card_single', renderer='prettyjson') -def card_single(request): - card = {} - try: - card = list(request.db['cards'].find({"strokeNumber": int(request.matchdict['stroke_number'])}))[0] - except IndexError: - pass - - datepage_url = request.referrer.split("/")[3:] - page_num = 1 - carddate = "" - if len(datepage_url) > 2: - page_num = int(datepage_url[2]) - if len(datepage_url) > 1: - carddate = datepage_url[1] - - return {"card": card, 'navgroup': 'cards', 'datelist': get_all_dates_with_cards(request), 'date': carddate, 'datepage': page_num} - - -# @view_config(route_name='values_all', renderer="templates/valuesall.jinja2") -# @view_config(route_name='json_values_all', renderer='prettyjson') -# def values_all(request): -# return {'navgroup': 'values', 'current_tag_values': get_lastest_tag_values(request)} - - -@view_config(route_name="values_tag", renderer="templates/values_single.jinja2") -def values_tag(request): - tagname = request.matchdict['tagname'] - return {'navgroup': 'values', 'tagname': tagname} - - @view_config(route_name="gaugeoff_all", renderer="templates/gaugeoff_all.jinja2") @view_config(route_name="json_gaugeoff_all", renderer="prettyjson") def gaugeoff_all(request): @@ -130,20 +82,6 @@ def gaugeoff_all(request): return {'navgroup': 'gaugeoff', 'data': gaugeoff_list} -@view_config(route_name="fluidshots_all", renderer="templates/fluidshots.jinja2") -@view_config(route_name="json_fluidshots_all", renderer="prettyjson") -def fluidshots_all(request): - fluidshots = list(request.db['fluidShots'].find()) - return {'navgroup': 'fluidshots', 'data': fluidshots} - - -@view_config(route_name="welltests_all", renderer="templates/welltests.jinja2") -@view_config(route_name="json_welltests_all", renderer="prettyjson") -def welltests_all(request): - welltests = list(request.db['wellTests'].find()) - return {'navgroup': 'welltests', 'data': welltests} - - @view_config(route_name="runstatus", renderer="templates/runstatus.jinja2") @view_config(route_name="json_runstatus", renderer="prettyjson") @view_config(route_name="json_runstatus_page", renderer="prettyjson") diff --git a/pocwww/well_tests.py b/pocwww/well_tests.py new file mode 100644 index 0000000..e9e47c8 --- /dev/null +++ b/pocwww/well_tests.py @@ -0,0 +1,9 @@ +from pyramid.view import view_config +from .view_helpers import * + + +@view_config(route_name="welltests_all", renderer="templates/welltests.jinja2") +@view_config(route_name="json_welltests_all", renderer="prettyjson") +def welltests_all(request): + welltests = list(request.db['wellTests'].find()) + return {'navgroup': 'welltests', 'data': welltests}