feat: update lastfm & weather to use internal API

This commit is contained in:
Frankie B 2023-07-02 02:01:54 +01:00
commit 45fd1d23c4
No known key found for this signature in database
5 changed files with 84 additions and 23 deletions

View file

@ -1,26 +1,25 @@
@php
$cfg = app('config')->get('services')['lastfm'];
$api_root = app('config')->get('app')['api_root'];
$current_response = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".$cfg['user']."&nowplaying=true&format=json&api_key=".$cfg['key']));
$nowplaying = $current_response->recenttracks->track[0];
$toptracks = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".$cfg['user']."&format=json&period=7day&api_key=".$cfg['key']));
$tracks = $toptracks->toptracks->track;
$current_track = json_decode(file_get_contents($api_root.'/lastfm/current'));
$toptracks = json_decode(file_get_contents($api_root.'/lastfm/top'));
$count = 0;
@endphp
<h1>Last.fm <small>(<a href="https://www.last.fm/user/{{ $cfg['user']}}">Profile</a>)</small></h1>
<b>Last/Current Track:</b> <a href="{{ $nowplaying->url }}">{{ $nowplaying->name }} {{ $nowplaying->artist->{"#text"} }}</a>
<b>Last/Current Track:</b> <a href="{{ $current_track->url }}">{{ $current_track->name }} {{ $current_track->artist }}</a>
<h2>Top {{ $cfg['toptracks'] }} Tracks (Last 7 days)</h2>
<ol>
@foreach ($tracks as $track)
@foreach ($toptracks as $track)
@if ($count >= $cfg['toptracks'])
</ol>
@break
@endif
<li>
<a href="{{ $track->url }}">{{ $track->name }} {{ $track->artist->name }}</a>
<small>({{ $track->playcount }} plays)</small>
<a href="{{ $track->url }}">{{ $track->name }} {{ $track->artist }}</a>
<small>({{ $track->plays }} plays)</small>
</li>
@php $count++ @endphp
@endforeach