예제 #1
0
def get_temperature(city):
	dbtemp = {'Topic':city.get('query_type'),'Location':city.get('geo-ciy')}
	data = query_api(city)
	main = data['main']
	temp = main['temp']
	temp_min = main['temp_min']
	temp_max = main['temp_max']
	records.insert_one(dbtemp)
	return 'Temperature: '+str(temp)+'\nMinimum Temperature: '+str(temp_min)+'\nMaximum Temperature: '+str(temp_max)
예제 #2
0
파일: main.py 프로젝트: vcode11/WeatherApp
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    resp = query_api(select)
    if resp['cod']  == 200:
        data.append(resp)
    else:
        return render_template('result.html', error=True, data=resp)
    return render_template('result.html', error=False, data=data)
예제 #3
0
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    resp = query_api(select)
    pp(resp)
    if resp:
        data.append(resp)
    if len(data) != 2:
        error = 'Bad Response from Weather API'
    return render_template('result.html', data=data, error=error)
예제 #4
0
def restresult():
    data = []
    error = None
    city = request.args.get('city', 'Barcelona')  #arguments
    resp = query_api(city)  #function defined in weather.py
    pp(resp)
    if resp:
        data.append(resp)
    if len(data) != 2:
        error = 'Bad Response from Weather API'  #response in case of malformed data
    return jsonify(resp)  #response in JSON format
예제 #5
0
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    resp = query_api(select)  #function defined in weather.py
    pp(resp)
    if resp:
        data.append(resp)
    if len(data) != 2:
        error = 'Bad Response from Weather API'  #response in case of malformed data
    return render_template(
        'result.html', data=data,
        error=error)  #return the result using the HTML template
예제 #6
0
def result():
    data = []
    error = None
    select = request.form.get('input_field')
    inserirhistorico(select)
    resp = query_api(select)

    pp(resp)
    if resp:
        data.append(resp)

    # if len(data) != 2:

    return render_template('result.html', data=data, error=error)
예제 #7
0
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    res = query_api(select)
    pp(res)
    print('Request was sent')

    if res:
        data.append(res)
    if len(data) != 2:
        error = 'Bad response from weather API'

    return render_template('result.html', data=data, error=error)
예제 #8
0
def index():
    data = []
    error = None
    if request.method == 'POST':
        city1 = request.form.get('city1')
        city2 = request.form.get('city2')
        for c in (city1, city2):
            resp = query_api(c)
            pp(resp)
            if resp:
                data.append(resp)
        if len(data) != 2:
            error = 'Did not get complete response from Weather API'
    return render_template("weather.html",
                           data=data,
                           error=error,
                           time=get_local_time)
예제 #9
0
파일: main.py 프로젝트: s3784464/cc-a2-jmda
def index():
    cal = Calender()
    events = cal.buildEvents()
    weathers = []
    improve_weather_prediction(25)
    new_times = []
    for e in events:
        weathers.append(query_api(e))
        TO12_URL.format(e.getTime())
        requests.get(TO12_URL).text
        time = to12Hour(e.getTime())
        new_times.append(time)

    return render_template('index.html',
                           events=events,
                           weathers=weathers,
                           times=new_times)
예제 #10
0
def fetch_reply(msg, session_id):
    response = detect_intent_from_text(msg, session_id)
    params = dict(response.parameters)
    params['msg'] = msg
    params['intent'] = response.intent.display_name

    dbclient = MongoClient(
        'mongodb+srv://test:[email protected]/test?retryWrites=true&w=majority'
    )
    db = dbclient.get_database('user_logs_db')
    records = db.user_logs

    news_type = params.get('news_type')
    city = params.get('geo-city')

    if news_type != None and news_type != '' and response.intent.display_name == 'get_news':

        news = get_news(params)

        if news == None or news == []:
            return 'Please try again later', ''

        news_str = "Here are the news results:\n"

        for row in news:
            news_str += "\n\n{}\n{}".format(row['title'], row['link'])

        if records.find_one(params) == None:
            records.insert_one(params)

        return news_str, ''

    if city != None and city != '' and response.intent.display_name == 'get_weather':

        data = query_api(city)

        if data['cod'] == '400':
            return 'Please try again later', ''

        if records.find_one(params) == None:
            records.insert_one(params)

        return get_weather(data)

    return response.fulfillment_text, ''
예제 #11
0
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    print(select)
    resp = query_api(select)
    pp(resp)

    if resp:
        store_data(datetime.datetime.now(), resp, select)
        print("stored entity")
    else:
        print('no response from API')
        error = 'Bad Response from Weather API'

    data = fetch_data(10, select)


    return render_template('result.html', data=data, error=error)
예제 #12
0
def result():
    data = []
    error = None
    select = request.form.get('comp_select')
    resp = query_api(select)
    #pp(resp)
    if resp:
        data.append(resp)
        # convert sunset time
        sunset = get_time(data[0]['sys']['sunset'])
        if len(data) != 2:
            error = 'Bad Response from Weather API'
        #else:
        # convert sunset time
        #sunset = get_time(data[0]['sys']['sunset'])

    return render_template('result.html',
                           data=data,
                           sunset=sunset,
                           error=error)
예제 #13
0
def api():
    data = []
    error = None
    if request.method == 'GET':
        city1 = request.args.get('city1')
        city2 = request.args.get('city2')
        city3 = request.args.get('city3')
        city4 = request.args.get('city4')
        city5 = request.args.get('city5')
        for c in (city1, city2, city3, city4, city5):
            latlon = c.split(',')
            resp = query_api(latlon[0], latlon[1])
            pp(resp)
            if resp:
                data.append(resp)
        if len(data) != 4:
            error = 'Did not get complete response from Weather API'

    msg = f"It is currently {data[0]['main']['feels_like']:.0f}°F in {data[0]['name']}, {data[1]['main']['feels_like']:.0f}°F in {data[1]['name']}, {data[2]['main']['feels_like']:.0f}°F in {data[2]['name']}, {data[3]['main']['feels_like']:.0f}°F in {data[3]['name']}, and {data[4]['main']['feels_like']:.0f}°F in {data[4]['name']}."

    return jsonify({"response_type": "in_channel", "text": msg})
예제 #14
0
def weather():
    if len(data) > 0:
        data.pop()
        data.pop()

    city1 = request.form.get('city1')
    city2 = request.form.get('city2')

    if len(city1) < 3:
        city1 = 'Dublin'
    if len(city2) < 3:
        city2 = 'London'

    for c in (city1, city2):
        resp = query_api(c)
        if resp:
            data.append(resp)

    if len(data) != 2:
        return redirect(url_for('dashboard'))

    return redirect(url_for('weather_service'))
예제 #15
0
def result():
    data = []
    error = None
    location = str(request.form.get('finalLocation'))

    print("\nLOCATION IS: " + str(location) + "\n")

    locList = location.split(" ")

    # if request.method == 'POST':
    #     mylocation = request.form('mylocation')
    #     print("MY LOCATION STRING IS: " + str(mylocation))
    #webpage = requests.get(LOCALHOSTURL)

    #soup = BeautifulSoup(htmlString, 'html.parser')

    #method3 = soup.find("div", {"name":"mylocation text-body"})

    #print("HERE IS METHOD 3: " + str(method3) + "\n")

    try:
        lat = locList[0]
        lon = locList[1]
    except IndexError:
        print("\nInvalid location. Defaulting coordinates.\n")
        lat = 42.3510312
        lon = -71.1087235

    resp = query_api(lat, lon)
    #print(coordTuple)
    pp(resp)
    if resp:
        data.append(resp)
    if len(data) != 2:
        error = 'Bad Response from Weather API'
    return render_template('result.html', data=data, error=error)
예제 #16
0
def get_weather(city):
	dbweather = {'Topic':city.get('query_type'),'Location':city.get('geo-ciy')}
	data = query_api(city)
	weather = data['weather'][0]
	records.insert_one(dbweather)
	return 'Weather Details are : \nMain: '+str(weather['main'])+'\nDescription: '+str(weather['description'])