From 51be032dbc61c633e1077bcc105293d015e6a2e7 Mon Sep 17 00:00:00 2001 From: Jon Michael Aanes Date: Wed, 13 Jun 2018 15:43:54 +0200 Subject: [PATCH] Curb your ethusiasm most --- curb_your_enthusiasm.lua | 9 ++++++--- internet.lua | 3 ++- memes.lua | 12 ++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/curb_your_enthusiasm.lua b/curb_your_enthusiasm.lua index 987a4a7..04cc0f0 100644 --- a/curb_your_enthusiasm.lua +++ b/curb_your_enthusiasm.lua @@ -13,9 +13,12 @@ local function video_length (video_filename) assert(type(video_filename) == 'string') local f = io.popen(('ffprobe -i "%s" -show_entries format=duration -v quiet -of csv="p=0"'):format(video_filename), 'r') local str = f:read '*all' + f:close() local len = tonumber(str) - assert(type(len) == 'number') - f:close() + if type(len) ~= 'number' then + error('Could not determine length of file "'..video_filename..'". ffprobe had this to say: '..str) + end + -- return len end @@ -122,5 +125,5 @@ end -------------------------------------------------------------------------------- -return curb_your_video +return { your_video = curb_your_video } diff --git a/internet.lua b/internet.lua index 28fc952..c946b3b 100644 --- a/internet.lua +++ b/internet.lua @@ -266,7 +266,8 @@ end function internet.download_video (url) assert(type(url) == 'string') local video_filename = os.tmpname() - os.execute(('youtube-dl "%s" -o "%s" &> /dev/null'):format(url, video_filename)) + local status = os.execute(('youtube-dl "%s" -o "%s"'):format(url, video_filename)) + assert(status == 0) return video_filename..'.mkv' end diff --git a/memes.lua b/memes.lua index 59ef9ae..10e6d5c 100644 --- a/memes.lua +++ b/memes.lua @@ -503,7 +503,7 @@ local function generate_bait_link() return 'https://dcav.pw/jbait' end -local curb_your_video = require 'curb_your_enthusiasm' +local curb = require 'curb_your_enthusiasm' -------------------------------------------------------------------------------- @@ -520,13 +520,13 @@ function memes.generate_for_message (user, message) return 'https://www.youtube.com/watch?v=wl-LeTFM8zo', 'MACHINE' end - do - local url = message:lower():match '^curb%s+your%s+(.+)$' + do -- Curb your enthusiasm + local url = message:match '^[Cc]urb%s+[Yy]our%s+(.+)$' local url2, timestamp = message:match '^(..-)%s+at%s+(-?[%d.]+)$' if url2 then url = url2 end timestamp = timestamp and tonumber(timestamp) or nil assert(type(timestamp) == 'number' or timestamp == nil) - local video_filename = curb_your_video(url, timestamp) + local video_filename = curb.your_video(url, timestamp) local video_url = save_file_to_dcav(video_filename) return video_url, 'CURB' end @@ -546,8 +546,8 @@ function memes.generate_for_message (user, message) do -- Attempt to match local problem_text - for _, pattern in ipairs { '^(.-)%s+er%s+skrald(.-)$', '^(.-)%s+is%s+trash(.-)$' } do - problem_text = message:lower():match(pattern) + for _, pattern in ipairs { '^(.-)%s+[Ee][Rr]%s+[Ss][Kk][Rr][Aa][Ll][Dd](.-)$', '^(.-)%s+[Ii][Ss]%s+[Tt][Rr][Aa][Ss][Hh](.-)$' } do + problem_text = message:match(pattern) if problem_text then break end end