def handler(event, context): log.info('got event{}'.format(event)) latitude = event["queryStringParameters"]['lat'] longitude = event["queryStringParameters"]['lng'] try: data = WeatherInfo.get_weather(latitude, longitude) result = WeatherInfo.parse_weather(data) response = { "statusCode": 200, "headers": { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": 'OPTIONS, GET', }, "body": json.dumps(result, ensure_ascii=False, indent='\t') } except KeyError: response = { "statusCode": 400, "headers": { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": 'OPTIONS, GET', }, "body": "400 Bad request" } return response
return "%s -- %s [%d] : %s [%d]" % (game['date'], game['hostName'], game['hostGoals'], game['guestName'], game['guestGoals']) if __name__ == '__main__': engine = create_engine('sqlite:///weather.db', echo=False) Base.metadata.create_all(engine) DBSession = sessionmaker(bind=engine) session = DBSession() owm_begintime = datetime(2012, 10, 3, 0, 0) last_season_games = json.loads(open('data/games_2012.json').read()) for game in last_season_games: d = dateutil.parser.parse(game['date']) host_team = game['hostName'] guest_team = game['guestName'] if 'Hamburg' in host_team or 'Hamburg' in guest_team: logger.info("Begegnung: %s", game2str(game)) for city in [quote_dropper.team2city[host_team], quote_dropper.team2city[guest_team]]: starttime = datetime.combine(d.date(), time(12, 30)) endtime = datetime.combine(d.date(), time(13, 30)) if starttime > owm_begintime: w = WeatherInfo.retrieveHistoricWeather(city, starttime, endtime) if w: logger.info("Wetter in %s am %s: %s", city, w.weatherstation_timestamp, w) #session.add(w) #session.commit()
import json from weather import WeatherInfo sample_data = '{"latitude":-37.814,"longitude":144.96332}' parsed = json.loads(sample_data) latitude = parsed['latitude'] longitude = parsed['longitude'] tmp = WeatherInfo.get_weather(latitude, longitude) print(tmp) res = WeatherInfo.parse_weather(tmp) WeatherInfo.repack(res)
parser.add_option("-u", "--update", action="store_true", dest="update", default=False, help="update the current weather for all cities") parser.add_option("-t", "--tip", action="store_true", dest="tip", default=False, help="send tip to botliga") (options, args) = parser.parse_args() engine = create_engine('sqlite:///weather.db', echo=False) Base.metadata.create_all(engine) DBSession = sessionmaker(bind=engine) session = DBSession() if options.update: WeatherInfo.updateCities(session, team2city.values()) session.commit() if options.tip: all_games = json.loads(open('data/games_2013.json').read()) # ~~ get all games for today for game in all_games: d = dateutil.parser.parse(game['date']) if d.date() == date.today(): host_team = game['hostName'] guest_team = game['guestName'] logger.info("%s: %s : %s", d, host_team, guest_team) w_host = WeatherInfo.getLatest(session, team2city[host_team], date.today())