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()