lib/rivendell/import/base.rb in rivendell-import-0.0.5 vs lib/rivendell/import/base.rb in rivendell-import-0.6
- old
+ new
@@ -22,13 +22,19 @@
workers << Worker.new(self).start unless options[:dry_run]
Rivendell::Import.logger.info "Listen files in #{directory}"
callback = Proc.new do |modified, added, removed|
- added.each do |file|
- Rivendell::Import.logger.debug "Detected file '#{file}'"
- file(file, directory)
+ # Rivendell::Import.logger.debug [modified, added, removed].inspect
+ begin
+ added.each do |file|
+ Rivendell::Import.logger.debug "Detected file '#{file}'"
+ file(file, directory)
+ end
+ rescue Exception => e
+ Rivendell::Import.logger.error "Task creation failed : #{e}"
+ Rivendell::Import.logger.debug e.backtrace.join("\n")
end
end
Listen.to(directory).change(&callback).start!
end
@@ -39,9 +45,10 @@
send method, path
end
end
def file(path, base_directory = nil)
+ path = ::File.expand_path(path, base_directory)
file = Rivendell::Import::File.new path, :base_directory => base_directory
create_task file
end
def directory(directory)