Skip to content

Commit

Permalink
Add method to fetch UTF-8 arrows for wind direction
Browse files Browse the repository at this point in the history
  • Loading branch information
incognico committed Oct 8, 2021
1 parent 9b5945c commit 170a23f
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions lib/Weather/METNO.pm
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ sub new ($class, %args)
$self->{alt} = $args{alt};

$self->{lang} = defined $args{lang} ? $args{lang} : 'en';
$self->{timeout} = defined $args{timeout} ? $args{timeout} : 5;
$self->{timeout} = defined $args{timeout} ? $args{timeout} : 3;

$self->fetch_weather;

Expand Down Expand Up @@ -155,6 +155,11 @@ sub windfrom_dir ($self)
return $self->get_direction($self->windfrom_deg);
}

sub windfrom_dir_utf8arrow ($self)
{
return $self->get_direction($self->windfrom_deg, 1);
}

sub cloudiness ($self)
{
return $$weather{$closest}{instant}{details}{cloud_area_fraction};
Expand Down Expand Up @@ -192,12 +197,13 @@ sub precip ($self)

###

sub get_direction ($self, $deg) {
my @points = qw(N NbE NNE NEbN NE NEbE ENE EbN E EbS ESE SEbE SE SEbS SSE SbE S SbW SSW SWbS SW SWbW WSW WbS W WbN WNW NWbW NW NWbN NNW NbW);

my $point = floor($deg/360*32);
sub get_direction ($self, $deg, $type = 0) # 0 = txt, 1 = unicode arrow
{
my @text = qw(N NbE NNE NEbN NE NEbE ENE EbN E EbS ESE SEbE SE SEbS SSE SbE S SbW SSW SWbS SW SWbW WSW WbS W WbN WNW NWbW NW NWbN NNW NbW);
my @arrow = ("\N{UPWARDS BLACK ARROW}", "\N{NORTH EAST ARROW}", "\N{RIGHTWARDS BLACK ARROW}", "\N{SOUTH EAST ARROW}", "\N{DOWNWARDS BLACK ARROW}", "\N{SOUTH WEST ARROW}", "\N{LEFTWARDS BLACK ARROW}", "\N{NORTH WEST ARROW}");
my $dir = floor($deg/360*($type ? 8 : 32));

return $points[$point];
return $type ? $arrow[$dir] : $text[$dir];
}

sub bft_to_txt ($self, $bft)
Expand Down

0 comments on commit 170a23f

Please sign in to comment.