do not pass query to view functions
This commit is contained in:
parent
0a8ab5e89f
commit
e041280f27
4 changed files with 15 additions and 15 deletions
|
|
@ -69,8 +69,6 @@ def parse_query(args):
|
||||||
if days in q:
|
if days in q:
|
||||||
result['days'] = days
|
result['days'] = days
|
||||||
|
|
||||||
result['no-caption'] = False
|
|
||||||
result['no-city'] = False
|
|
||||||
if 'q' in q:
|
if 'q' in q:
|
||||||
result['no-caption'] = True
|
result['no-caption'] = True
|
||||||
if 'Q' in q:
|
if 'Q' in q:
|
||||||
|
|
@ -83,7 +81,8 @@ def parse_query(args):
|
||||||
val = True
|
val = True
|
||||||
if val == 'False':
|
if val == 'False':
|
||||||
val = False
|
val = False
|
||||||
result[key] = val
|
if val:
|
||||||
|
result[key] = val
|
||||||
|
|
||||||
# currently `view` is alias for `format`
|
# currently `view` is alias for `format`
|
||||||
if "format" in result and not result.get("view"):
|
if "format" in result and not result.get("view"):
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,12 @@ import constants
|
||||||
import parse_query
|
import parse_query
|
||||||
import globals
|
import globals
|
||||||
|
|
||||||
def get_moon(query, parsed_query):
|
def get_moon(parsed_query):
|
||||||
|
|
||||||
location = parsed_query['orig_location']
|
location = parsed_query['orig_location']
|
||||||
html = parsed_query['html_output']
|
html = parsed_query['html_output']
|
||||||
lang = parsed_query['lang']
|
lang = parsed_query['lang']
|
||||||
|
|
||||||
if query is None:
|
|
||||||
query = {}
|
|
||||||
|
|
||||||
date = None
|
date = None
|
||||||
if '@' in location:
|
if '@' in location:
|
||||||
date = location[location.index('@')+1:]
|
date = location[location.index('@')+1:]
|
||||||
|
|
@ -40,7 +37,7 @@ def get_moon(query, parsed_query):
|
||||||
stdout = p.communicate()[0]
|
stdout = p.communicate()[0]
|
||||||
stdout = stdout.decode("utf-8")
|
stdout = stdout.decode("utf-8")
|
||||||
|
|
||||||
if query.get('no-terminal', False):
|
if parsed_query.get('no-terminal', False):
|
||||||
stdout = globals.remove_ansi(stdout)
|
stdout = globals.remove_ansi(stdout)
|
||||||
|
|
||||||
if html:
|
if html:
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import sys
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
import hashlib
|
||||||
|
|
||||||
sys.path.insert(0, "..")
|
sys.path.insert(0, "..")
|
||||||
from translations import get_message, FULL_TRANSLATION, PARTIAL_TRANSLATION, SUPPORTED_LANGS
|
from translations import get_message, FULL_TRANSLATION, PARTIAL_TRANSLATION, SUPPORTED_LANGS
|
||||||
|
|
@ -23,7 +24,7 @@ def _is_invalid_location(location):
|
||||||
if '.png' in location:
|
if '.png' in location:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def get_wetter(query, parsed_query):
|
def get_wetter(parsed_query):
|
||||||
|
|
||||||
location = parsed_query['location']
|
location = parsed_query['location']
|
||||||
ip = parsed_query['ip_addr']
|
ip = parsed_query['ip_addr']
|
||||||
|
|
@ -83,7 +84,10 @@ def get_wetter(query, parsed_query):
|
||||||
|
|
||||||
if location_name is None:
|
if location_name is None:
|
||||||
location_name = ""
|
location_name = ""
|
||||||
return "%s/%s/%s%s%s%s%s" % (CACHEDIR, location, timestamp, imperial_suffix, lang_suffix, query_line, location_name)
|
|
||||||
|
filename = "".join([timestamp, imperial_suffix, lang_suffix, query_line, location_name])
|
||||||
|
digest = hashlib.sha1(filename.encode('utf-8')).hexdigest()
|
||||||
|
return "%s/%s/%s" % (CACHEDIR, location, digest)
|
||||||
|
|
||||||
def save_weather_data(location, filename, lang=None, query=None, location_name=None, full_address=None):
|
def save_weather_data(location, filename, lang=None, query=None, location_name=None, full_address=None):
|
||||||
|
|
||||||
|
|
@ -212,9 +216,9 @@ def get_wetter(query, parsed_query):
|
||||||
stdout = re.sub("<head>", "<head>" + title + opengraph, stdout)
|
stdout = re.sub("<head>", "<head>" + title + opengraph, stdout)
|
||||||
open(filename+'.html', 'w').write(stdout)
|
open(filename+'.html', 'w').write(stdout)
|
||||||
|
|
||||||
filename = get_filename(location, lang=lang, query=query, location_name=location_name)
|
filename = get_filename(location, lang=lang, query=parsed_query, location_name=location_name)
|
||||||
if not os.path.exists(filename):
|
if not os.path.exists(filename):
|
||||||
save_weather_data(location, filename, lang=lang, query=query, location_name=location_name, full_address=full_address)
|
save_weather_data(location, filename, lang=lang, query=parsed_query, location_name=location_name, full_address=full_address)
|
||||||
if html:
|
if html:
|
||||||
filename += '.html'
|
filename += '.html'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -205,9 +205,9 @@ def _response(parsed_query, query, fast_mode=False):
|
||||||
if parsed_query.get("view"):
|
if parsed_query.get("view"):
|
||||||
output = wttr_line(query, parsed_query)
|
output = wttr_line(query, parsed_query)
|
||||||
elif loc == 'moon' or loc.startswith('moon@'):
|
elif loc == 'moon' or loc.startswith('moon@'):
|
||||||
output = get_moon(query, parsed_query)
|
output = get_moon(parsed_query)
|
||||||
else:
|
else:
|
||||||
output = get_wetter(query, parsed_query)
|
output = get_wetter(parsed_query)
|
||||||
|
|
||||||
if parsed_query.get('png_filename'):
|
if parsed_query.get('png_filename'):
|
||||||
output = fmt.png.render_ansi(
|
output = fmt.png.render_ansi(
|
||||||
|
|
@ -291,6 +291,7 @@ def parse_request(location, request, query, fast_mode=False):
|
||||||
'country': country,
|
'country': country,
|
||||||
'query_source_location': query_source_location})
|
'query_source_location': query_source_location})
|
||||||
|
|
||||||
|
parsed_query.update(query)
|
||||||
return parsed_query
|
return parsed_query
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -338,7 +339,6 @@ def wttr(location, request):
|
||||||
# use the full track
|
# use the full track
|
||||||
parsed_query = parse_request(location, request, query, fast_mode=True)
|
parsed_query = parse_request(location, request, query, fast_mode=True)
|
||||||
response = _response(parsed_query, query, fast_mode=True)
|
response = _response(parsed_query, query, fast_mode=True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if not response:
|
if not response:
|
||||||
parsed_query = parse_request(location, request, query)
|
parsed_query = parse_request(location, request, query)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue