mirror of
https://github.com/chubin/wttr.in.git
synced 2024-10-05 01:42:07 +02:00
do not pass query to view functions
This commit is contained in:
parent
0a8ab5e89f
commit
e041280f27
@ -69,8 +69,6 @@ def parse_query(args):
|
||||
if days in q:
|
||||
result['days'] = days
|
||||
|
||||
result['no-caption'] = False
|
||||
result['no-city'] = False
|
||||
if 'q' in q:
|
||||
result['no-caption'] = True
|
||||
if 'Q' in q:
|
||||
@ -83,7 +81,8 @@ def parse_query(args):
|
||||
val = True
|
||||
if val == 'False':
|
||||
val = False
|
||||
result[key] = val
|
||||
if val:
|
||||
result[key] = val
|
||||
|
||||
# currently `view` is alias for `format`
|
||||
if "format" in result and not result.get("view"):
|
||||
|
@ -10,15 +10,12 @@ import constants
|
||||
import parse_query
|
||||
import globals
|
||||
|
||||
def get_moon(query, parsed_query):
|
||||
def get_moon(parsed_query):
|
||||
|
||||
location = parsed_query['orig_location']
|
||||
html = parsed_query['html_output']
|
||||
lang = parsed_query['lang']
|
||||
|
||||
if query is None:
|
||||
query = {}
|
||||
|
||||
date = None
|
||||
if '@' in location:
|
||||
date = location[location.index('@')+1:]
|
||||
@ -40,7 +37,7 @@ def get_moon(query, parsed_query):
|
||||
stdout = p.communicate()[0]
|
||||
stdout = stdout.decode("utf-8")
|
||||
|
||||
if query.get('no-terminal', False):
|
||||
if parsed_query.get('no-terminal', False):
|
||||
stdout = globals.remove_ansi(stdout)
|
||||
|
||||
if html:
|
||||
|
@ -12,6 +12,7 @@ import sys
|
||||
import os
|
||||
import re
|
||||
import time
|
||||
import hashlib
|
||||
|
||||
sys.path.insert(0, "..")
|
||||
from translations import get_message, FULL_TRANSLATION, PARTIAL_TRANSLATION, SUPPORTED_LANGS
|
||||
@ -23,7 +24,7 @@ def _is_invalid_location(location):
|
||||
if '.png' in location:
|
||||
return True
|
||||
|
||||
def get_wetter(query, parsed_query):
|
||||
def get_wetter(parsed_query):
|
||||
|
||||
location = parsed_query['location']
|
||||
ip = parsed_query['ip_addr']
|
||||
@ -83,7 +84,10 @@ def get_wetter(query, parsed_query):
|
||||
|
||||
if location_name is None:
|
||||
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):
|
||||
|
||||
@ -212,9 +216,9 @@ def get_wetter(query, parsed_query):
|
||||
stdout = re.sub("<head>", "<head>" + title + opengraph, 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):
|
||||
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:
|
||||
filename += '.html'
|
||||
|
||||
|
@ -205,9 +205,9 @@ def _response(parsed_query, query, fast_mode=False):
|
||||
if parsed_query.get("view"):
|
||||
output = wttr_line(query, parsed_query)
|
||||
elif loc == 'moon' or loc.startswith('moon@'):
|
||||
output = get_moon(query, parsed_query)
|
||||
output = get_moon(parsed_query)
|
||||
else:
|
||||
output = get_wetter(query, parsed_query)
|
||||
output = get_wetter(parsed_query)
|
||||
|
||||
if parsed_query.get('png_filename'):
|
||||
output = fmt.png.render_ansi(
|
||||
@ -291,6 +291,7 @@ def parse_request(location, request, query, fast_mode=False):
|
||||
'country': country,
|
||||
'query_source_location': query_source_location})
|
||||
|
||||
parsed_query.update(query)
|
||||
return parsed_query
|
||||
|
||||
|
||||
@ -338,7 +339,6 @@ def wttr(location, request):
|
||||
# use the full track
|
||||
parsed_query = parse_request(location, request, query, fast_mode=True)
|
||||
response = _response(parsed_query, query, fast_mode=True)
|
||||
|
||||
try:
|
||||
if not response:
|
||||
parsed_query = parse_request(location, request, query)
|
||||
|
Loading…
Reference in New Issue
Block a user