Example #1
0
import os
from db_handler import DBHandler
from flask import Flask, request
from data_processor import DataProcessor
from flaskthreads import AppContextThread

weather_app = Flask(__name__)
env_config = os.getenv("APP_SETTINGS", "config.DevelopmentConfig")
weather_app.config.from_object(env_config)
data_processor = DataProcessor(weather_app)
db_handler = DBHandler.get_instance(weather_app)
weather_app.app_context().push()


@weather_app.route('/', methods=['GET'])
def welcome_to_service():
    return "Welcome to my weather service!"


@weather_app.route('/pre_process', methods=['GET'])
def pre_process():
    thread = AppContextThread(target=data_processor.process_files)
    thread.start()
    return "Pre-processing csv files..."


@weather_app.route('/weather/data', methods=['GET'])
def get_data_by_location():
    data = request.get_json()
    try:
        if 'lon' in data and 'lat' in data:
 def __init__(self, weather_app):
     self.db_handler = DBHandler.get_instance(weather_app)
     self.db = self.db_handler.get_db()
     self.resources_folder = os.path.abspath('./resources')
     self.csv_files = self._get_all_csv()