From efe41deab05269eb6feb28cad2919c88a4ba8846 Mon Sep 17 00:00:00 2001 From: Mason Ballengee Date: Fri, 23 Aug 2024 13:30:59 -0400 Subject: [PATCH] Re-add initializer to set mediainfo path Active encode still uses MediaInfo for the time being so we need to make sure that variables are still being set up properly. This commit also adds safe navigation or other conditionals to prevent errors when MediaInfo or FFmpeg are not defined properly in Settings.yml. --- config/initializers/about_page.rb | 2 +- config/initializers/ac_mediainfo.rb | 2 ++ lib/tasks/avalon_tools.rake | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 config/initializers/ac_mediainfo.rb diff --git a/config/initializers/about_page.rb b/config/initializers/about_page.rb index 02fc31bd0e..4685140e3f 100644 --- a/config/initializers/about_page.rb +++ b/config/initializers/about_page.rb @@ -9,7 +9,7 @@ config.fedora = AboutPage::Fedora.new(ActiveFedora.fedora.connection) config.solr = AboutPage::Solr.new(ActiveFedora.solr.conn, :numDocs => 1) config.database = Avalon::About::Database.new(User) - config.mediainfo = Avalon::About::MediaInfo.new(path: Settings.mediainfo.path) + config.mediainfo = Settings&.mediainfo&.path ? Avalon::About::MediaInfo.new(path: Settings.mediainfo.path) : Avalon::About::MediaInfo.new() config.streaming_server = Avalon::About::HLSServer.new(Settings.streaming.http_base) config.sidekiq = Avalon::About::Sidekiq.new(numProcesses: 1) config.redis = Avalon::About::Redis.new(Redis.new(Rails.application.config.cache_store[1])) diff --git a/config/initializers/ac_mediainfo.rb b/config/initializers/ac_mediainfo.rb new file mode 100644 index 0000000000..d65b28eb23 --- /dev/null +++ b/config/initializers/ac_mediainfo.rb @@ -0,0 +1,2 @@ +# Set up for active_encode, need to happen before active_encode initializer +ENV["MEDIAINFO_PATH"] ||= Settings.mediainfo.path if Settings&.mediainfo&.path \ No newline at end of file diff --git a/lib/tasks/avalon_tools.rake b/lib/tasks/avalon_tools.rake index 8e19cd12c2..d3f99dcbd7 100644 --- a/lib/tasks/avalon_tools.rake +++ b/lib/tasks/avalon_tools.rake @@ -14,8 +14,8 @@ namespace :avalon do namespace :tools do - ffmpeg_path = Settings.ffmpeg.path || "/usr/bin/ffmpeg" - mediainfo_path = Settings.mediainfo.path || "/usr/bin/mediainfo" + ffmpeg_path = Settings&.ffmpeg&.path || "/usr/bin/ffmpeg" + mediainfo_path = Settings&.mediainfo&.path || "/usr/bin/mediainfo" DEFAULT_TOOLS = [ { name: "ffmpeg", path: ffmpeg_path, version_params: "-version", version_string: ">= 4", version_trim_pre: "ffmpeg version ", version_trim_last_char: "-" }, { name: "mediainfo", path: mediainfo_path, version_string: "> 18", version_line: 1, version_trim_pre: "MediaInfoLib - v" },