diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | angel.pl | 28 | ||||
-rwxr-xr-x | angel.sh | 13 |
3 files changed, 28 insertions, 14 deletions
@@ -1,2 +1 @@ *.sh -!angel.sh diff --git a/angel.pl b/angel.pl new file mode 100755 index 0000000..6ab24ac --- /dev/null +++ b/angel.pl @@ -0,0 +1,28 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use JSON; + +my $ENDPOINT = "https://www.googleapis.com/youtube/v3"; +my $YT_API_KEY = $ENV{'YT_API_KEY'} or die "YT_API_KEY not defined"; + +sub decode_json_utf8 { + my $json = join "", @_; + utf8::encode($json); + return decode_json($json); +} + +sub api_search { + return (decode_json_utf8 `curl -s '$ENDPOINT/search?channelId=UCGUc7rf0fbEzrGb7kkmu6zw&part=snippet&q=Informativo&maxResults=1&key=$YT_API_KEY'`)->{items}; +} + +my $today = `date '+%Y-%m-%dT'`; +chomp $today; + +my ($video) = @{api_search()}; + +if ($video->{snippet}{publishTime} =~ /^$today/) { + print "$video->{snippet}{title}\nhttps://www.youtube.com/watch?v=$video->{id}{videoId}\n"; +} diff --git a/angel.sh b/angel.sh deleted file mode 100755 index 1a353fa..0000000 --- a/angel.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -TODAY=$(date '+%d/%m/%y') -VIDEO_ID=$( - curl -s https://www.youtube.com/playlist\?list\=PLtk0IJ09y34XS044BgNOsFvd8FD4mPYQY \ - | sed -n '/var ytInitialData/ { s/^.*ytInitialData = //; s/;.*$//; p }' \ - | jq -r ".contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].playlistVideoListRenderer.contents[] | select(.playlistVideoRenderer.title.runs[0].text == \"Informativo matinal express [$TODAY]\") | .playlistVideoRenderer.videoId") - -if [ -z "$VIDEO_ID" ]; then - exit 0 -fi - -echo -e "Informativo matinal para ahorraros tiempo [$TODAY]\nhttps://www.youtube.com/watch?v=$VIDEO_ID" |