mirror of
https://github.com/glanceapp/glance.git
synced 2024-11-25 18:05:00 +01:00
Merge pull request #59 from tarikcoskun/main
Add 24-hour time format support for weather
This commit is contained in:
commit
693051f4e9
@ -647,6 +647,7 @@ Example:
|
|||||||
```yaml
|
```yaml
|
||||||
- type: weather
|
- type: weather
|
||||||
units: metric
|
units: metric
|
||||||
|
hour-format: 12h
|
||||||
location: London, United Kingdom
|
location: London, United Kingdom
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -671,6 +672,7 @@ Each bar represents a 2 hour interval. The yellow background represents sunrise
|
|||||||
| ---- | ---- | -------- | ------- |
|
| ---- | ---- | -------- | ------- |
|
||||||
| location | string | yes | |
|
| location | string | yes | |
|
||||||
| units | string | no | metric |
|
| units | string | no | metric |
|
||||||
|
| hour-format | string | no | 12h |
|
||||||
| hide-location | boolean | no | false |
|
| hide-location | boolean | no | false |
|
||||||
| show-area-name | boolean | no | false |
|
| show-area-name | boolean | no | false |
|
||||||
|
|
||||||
@ -680,6 +682,9 @@ The name of the city and country to fetch weather information for. Attempting to
|
|||||||
##### `units`
|
##### `units`
|
||||||
Whether to show the temperature in celsius or fahrenheit, possible values are `metric` or `imperial`.
|
Whether to show the temperature in celsius or fahrenheit, possible values are `metric` or `imperial`.
|
||||||
|
|
||||||
|
#### `hour-format`
|
||||||
|
Whether to show the hours of the day in 12-hour format or 24-hour format. Possible values are `12h` and `24h`.
|
||||||
|
|
||||||
##### `hide-location`
|
##### `hide-location`
|
||||||
Optionally don't display the location name on the widget.
|
Optionally don't display the location name on the widget.
|
||||||
|
|
||||||
|
@ -14,17 +14,26 @@ type Weather struct {
|
|||||||
Location string `yaml:"location"`
|
Location string `yaml:"location"`
|
||||||
ShowAreaName bool `yaml:"show-area-name"`
|
ShowAreaName bool `yaml:"show-area-name"`
|
||||||
HideLocation bool `yaml:"hide-location"`
|
HideLocation bool `yaml:"hide-location"`
|
||||||
|
HourFormat string `yaml:"hour-format"`
|
||||||
Units string `yaml:"units"`
|
Units string `yaml:"units"`
|
||||||
Place *feed.PlaceJson `yaml:"-"`
|
Place *feed.PlaceJson `yaml:"-"`
|
||||||
Weather *feed.Weather `yaml:"-"`
|
Weather *feed.Weather `yaml:"-"`
|
||||||
TimeLabels [12]string `yaml:"-"`
|
TimeLabels [12]string `yaml:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var timeLabels = [12]string{"2am", "4am", "6am", "8am", "10am", "12pm", "2pm", "4pm", "6pm", "8pm", "10pm", "12am"}
|
var timeLabels12h = [12]string{"2am", "4am", "6am", "8am", "10am", "12pm", "2pm", "4pm", "6pm", "8pm", "10pm", "12am"}
|
||||||
|
var timeLabels24h = [12]string{"02:00", "04:00", "06:00", "08:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00", "22:00", "24:00"}
|
||||||
|
|
||||||
func (widget *Weather) Initialize() error {
|
func (widget *Weather) Initialize() error {
|
||||||
widget.withTitle("Weather").withCacheOnTheHour()
|
widget.withTitle("Weather").withCacheOnTheHour()
|
||||||
widget.TimeLabels = timeLabels
|
|
||||||
|
if widget.HourFormat == "" || widget.HourFormat == "12h" {
|
||||||
|
widget.TimeLabels = timeLabels12h
|
||||||
|
} else if widget.HourFormat == "24h" {
|
||||||
|
widget.TimeLabels = timeLabels24h
|
||||||
|
} else {
|
||||||
|
return fmt.Errorf("invalid hour format '%s' for weather widget, must be either 12h or 24h", widget.HourFormat)
|
||||||
|
}
|
||||||
|
|
||||||
if widget.Units == "" {
|
if widget.Units == "" {
|
||||||
widget.Units = "metric"
|
widget.Units = "metric"
|
||||||
|
Loading…
Reference in New Issue
Block a user