Added some video repository housekeeping functionality

This commit is contained in:
Gregory Ballantine 2022-08-31 01:09:58 -04:00
parent 4273bfbbae
commit 4c3ea4ea87
3 changed files with 56 additions and 2 deletions

View File

@ -1,5 +1,7 @@
require_relative 'util.rb'
require 'fileutils'
class Repository
def initialize(path)
@ -15,4 +17,29 @@ class Repository
}
end
def searchIngest
# create our ingest directory path
ingestPath = File.join(@basePath, 'ingest')
# search for files in ingest; ignore non-files (e.g. directories)
ingestFiles = Dir.entries(ingestPath).select { |f| File.file? File.join(ingestPath, f) }
return ingestFiles
end
def archiveFile(filename)
# create source and destination paths for the copy
ingestPath = File.join(@basePath, 'ingest', filename)
archivePath = File.join(@basePath, 'archive', filename)
# perform the copy, preserving file attributes
FileUtils.cp(ingestPath, archivePath, preserve: true)
end
def cleanupFile(filename)
# create ingest path
ingestPath = File.join(@basePath, 'ingest', filename)
# remove the file
FileUtils.remove_file(ingestPath)
end
end

23
src/transcoder.rb Normal file
View File

@ -0,0 +1,23 @@
class Transcoder
def initialize(config, repository)
@config = config
@repository = repository
end
def start
puts "Starting transcoder..."
# search for files in ingest
ingestFiles = @repository.searchIngest()
ingestFiles.each { |ifile|
# archive the file
@repository.archiveFile(ifile)
# perform the transcode
# // TODO self.transcode(ifile)
# clean up the file from ingest
@repository.cleanupFile(ifile)
}
end
end

View File

@ -2,6 +2,7 @@
require_relative 'config.rb'
require_relative 'repository.rb'
require_relative 'transcoder.rb'
# create new configuration instance
c = Config.new('~/.config/zealot.toml')
@ -9,5 +10,8 @@ c = Config.new('~/.config/zealot.toml')
# create new repository instance
r = Repository.new(c.get('transcoder.repository'))
# print repository directory as a test
puts c.get('transcoder.repository')
# create new transcoder instance
t = Transcoder.new(c, r)
# start the transcoder
t.start()