stage-manager/app/models/video.rb

36 lines
771 B
Ruby

# frozen_string_literal: true
require 'fileutils'
require 'kramdown'
require 'pandoc-ruby'
# Model handles Video projects
class Video < Sequel::Model
many_to_one :channel
def ensure_directory_structure
sub_dirs = %w[Audio B-Roll Clips Images Export]
sub_dirs.each do |d|
sub_path = File.join(
@values[:directory_path],
d
)
FileUtils.mkdir_p(sub_path)
end
end
def parse_script
Kramdown::Document.new(@values[:script]).to_html
end
def import_script
scripts = Dir.glob("#{@values[:directory_path]}/*Script.docx")
script_content = PandocRuby.convert([scripts[0].dump()], from: :docx, to: :markdown)
@values[:script] = script_content
# save changes to the model
save_changes()
end
end