Skip to content
Snippets Groups Projects
Select Git revision
  • 01654a324c1b5684b0c84544d4426e453e123911
  • master default
  • renovate/opencsv.version
  • renovate/org.springframework.boot-spring-boot-starter-parent-3.x
  • renovate/junit-jupiter-engine.version
  • renovate/selenium.version
  • renovate/testcontainer.version
  • demo
  • v1_8_1
  • v2.18.1
  • v2.18.0
  • v2.17.2
  • v2.17.1
  • v2.17.0
  • v2.16.1
  • v2.16.0
  • v2.15.1
  • v2.15.0
  • v2.14.0
  • v2.13.0
  • v2.12.0
  • v2.11.0
  • v2.10.0
  • v2.9.2
  • v2.9.1
  • v2.9.0
  • v2.8.0
  • testPipeline2
  • v2.7.0
29 results

transactions.js

Blame
  • CurrentWeatherTile.py 1.89 KiB
    import os
    from typing import Dict
    
    from flask import Blueprint
    
    from logic import Helpers
    from logic.service.ServiceManager import ServiceManager
    from logic.tile.Tile import Tile
    
    
    class CurrentWeatherTile(Tile):
        EXAMPLE_SETTINGS = {
            "lat": "51.012825",
            "lon": "13.666365",
            "apiKey": "myApiKey"
        }
    
        def __init__(self, uniqueName: str, settings: Dict, intervalInSeconds: int):
            super().__init__(uniqueName, settings, intervalInSeconds)
    
        def fetch(self, pageName: str) -> Dict:
            weatherService = ServiceManager.get_instance().get_service_by_type_name('WeatherService')
    
            fetchIntervalInSeconds = 60 * 10  # query api less often
    
            # cache key will be determined in service
            weatherData = weatherService.get_data('', fetchIntervalInSeconds, self._settings)
            currentWeather = weatherData['current']
            currentTemperature = currentWeather['temp']
            feelsLike = currentWeather['feels_like']
            windSpeed = currentWeather['wind_speed'] * 3.6
    
            return {
                'temperature': Helpers.round_to_decimals(currentTemperature, 1),
                'temperatureColor': Helpers.determine_color_for_temperature(currentTemperature),
                'feelsLike': Helpers.round_to_decimals(feelsLike, 1),
                'feelsLikeColor': Helpers.determine_color_for_temperature(feelsLike),
                'icon': currentWeather['weather'][0]['id'],
                'windDegrees': currentWeather['wind_deg'],
                'windSpeed': f'{Helpers.round_to_decimals(windSpeed, 1)} km/h',
                'windSpeedColor': Helpers.determine_color_for_wind(windSpeed)
            }
    
        def render(self, data: Dict) -> str:
            return Tile.render_template(os.path.dirname(__file__), __class__.__name__, data=data)
    
        def construct_blueprint(self, pageName: str, *args, **kwargs):
            return Blueprint(f'{pageName}_{__class__.__name__}_{self.get_uniqueName()}', __name__)