diff options
author | Frankie B <git@diskfloppy.me> | 2023-07-02 02:01:54 +0100 |
---|---|---|
committer | Frankie B <git@diskfloppy.me> | 2023-07-02 02:01:54 +0100 |
commit | 45fd1d23c4b22d0b1bbd070d799ad3e6f274a8e5 (patch) | |
tree | 51a7f11774672dcc04d122c2747c8bbdda1c4441 | |
parent | c10d758474056d2211cfa42a39c76eccbe5d135e (diff) |
feat: update lastfm & weather to use internal API
-rw-r--r-- | .env.example | 1 | ||||
-rw-r--r-- | config/app.php | 1 | ||||
-rw-r--r-- | resources/views/components/lastfm.blade.php | 15 | ||||
-rw-r--r-- | resources/views/components/weather.blade.php | 32 | ||||
-rw-r--r-- | resources/views/pages/misc/badapple.blade.php | 58 |
5 files changed, 84 insertions, 23 deletions
diff --git a/.env.example b/.env.example index 4ead6e3..08a0cb5 100644 --- a/.env.example +++ b/.env.example @@ -29,3 +29,4 @@ MEMCACHED_HOST=127.0.0.1 LASTFM_KEY= LASTFM_USER= LASTFM_TOP_TRACKS=10 +API_ROOT=http://127.0.0.1:3000 diff --git a/config/app.php b/config/app.php index 4c231b4..80f4e07 100644 --- a/config/app.php +++ b/config/app.php @@ -56,6 +56,7 @@ return [ */ 'url' => env('APP_URL', 'http://localhost'), + 'api_root' => env('API_ROOT', 'http://127.0.0.1:3000'), 'asset_url' => env('ASSET_URL'), diff --git a/resources/views/components/lastfm.blade.php b/resources/views/components/lastfm.blade.php index 92b2c9c..75ec064 100644 --- a/resources/views/components/lastfm.blade.php +++ b/resources/views/components/lastfm.blade.php @@ -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 diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php index 2aa2ebb..a5a041f 100644 --- a/resources/views/components/weather.blade.php +++ b/resources/views/components/weather.blade.php @@ -1,20 +1,22 @@ @php - function degreesToCompassDirection($degrees) { - $cardinalDirections = [ - 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', - 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N' - ]; - return $cardinalDirections[round($degrees*16/360)]; - } +$api_root = app('config')->get('app')['api_root']; - $data = json_decode(file_get_contents('http://weather.diskfloppy.me/data/weatherData.json')); - $updated = gmdate('H:i Y-m-d', intval(rtrim(file_get_contents('http://weather.diskfloppy.me/data/got.txt')))); - $data = $data->data->conditions[0]; +function degreesToCompassDirection($degrees) { + $cardinalDirections = [ + 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', + 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N' + ]; + return $cardinalDirections[round($degrees*16/360)]; +} + +$data = json_decode(file_get_contents($api_root.'/weather')); +$updated = gmdate('H:i Y-m-d', $data->updated); +$data = $data->data; @endphp <h1>Local Weather <small>(Last Update: {{ $updated }})</small></h1> - <b>Wind Speed:</b> {{ $data->wind_speed_last }} mph<br> - <b>Wind Direction:</b> {{ $data->wind_dir_last }}°, {{ degreesToCompassDirection($data->wind_dir_last) }}<br> - <b>Temperature:</b> {{ round(($data->temp-32)*(5/9), 1) }}°C<br> - <b>Rain Rate:</b> {{ round($data->rain_rate_last*0.2, 2) }} mm/hr<br> - <b>Humidity:</b> {{ round($data->hum) }}%<br> + <b>Wind Speed:</b> {{ $data->wind->speed }} mph<br> + <b>Wind Direction:</b> {{ $data->wind->direction->degrees }}°, {{ $data->wind->direction->cardinal }}<br> + <b>Temperature:</b> {{ $data->temperature }}°C<br> + <b>Rain Rate:</b> {{ $data->rain_rate }} mm/hr<br> + <b>Humidity:</b> {{ $data->humidity }}%<br> diff --git a/resources/views/pages/misc/badapple.blade.php b/resources/views/pages/misc/badapple.blade.php new file mode 100644 index 0000000..9da798d --- /dev/null +++ b/resources/views/pages/misc/badapple.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.default') +@section('title', 'misc / bad apple') +@section('description', '') +@section('content') +<h1>Bad Apple Ports</h1> + <h2>Apple II</h2> + - <a href="https://www.youtube.com/watch?v=X8osEgYzPNo">ekslong</a><br/> + + <h2>Vectrex</h2> + <h2>Atari 2600</h2> + <h2>Windows 3.1</h2> + <h2>Gameboy</h2> + <h2>Windows XP</h2> + <h2>Ubuntu</h2> + <h2>IRL</h2> + <h2>TI-84+ SE</h2> + <h2>Sega Megadrive</h2> + <h2>DOS</h2> + <h2>IBM PC/XT</h2> + <h2>Gameboy Color</h2> + <h2>CASIO fx-9750GII</h2> + <h2>Ti-nspire</h2> + <h2>Pokemon Mini</h2> + <h2>IBM PC/AT</h2> + <h2>NEC PC-6601</h2> + <h2>Toshiba T3200</h2> + <h2>BBC Micro (Teletext)</h2> + <h2>Nintendo 64</h2> + <h2>Commodore 64</h2> + <h2>NES</h2> + <h2>Impulse Tracker</h2> + <h2>Neo Geo</h2> + <h2>iPod mini</h2> + <h2>Factorio</h2> + <h2>KY-01L</h2> + <h2>Launchpad</h2> + <h2>ILDA Laser Projector</h2> + <h2>896-core Processor</h2> + <h2>Threadripper 3990X</h2> + <h2>Desmos</h2> + <h2>MS Word 1.x</h2> + <h2>Apple Watch</h2> + <h2>Intellivision</h2> + <h2>Minecraft Sheep</h2> + <h2>VSCode Auto-formatter</h2> + <h2>ZX Spectrum</h2> + <h2>Oscilloscopes</h2> + <h2>HTML Checkboxes</h2> + <h2>Phosphor Screen</h2> + <h2>CS:GO</h2> + <h2>Hand-drawn RISC-V CPU</h2> + <h2>3D Printer</h2> + <h2>E-paper display</h2> + <h2>32K EEPROM</h2> + <h2>UVB-76</h2> + <h2>OS/400 (IBM i)</h2> + <h2>plan9 (rio)</h2> +@stop |