32 lines
851 B
Crystal
32 lines
851 B
Crystal
|
|
require "./base_controller"
|
|
require "../utils/url_validator"
|
|
require "../event_page"
|
|
|
|
module FosdemRecorder
|
|
class InfoController < BaseController
|
|
def self.process(url)
|
|
UrlValidator.validate_event! url
|
|
meta = EventPage.get_meta(url)
|
|
|
|
puts meta.title.colorize.fore(:green)
|
|
|
|
start = meta.event_start
|
|
stop = meta.event_stop
|
|
puts "* event start = #{start}"
|
|
puts "* event stop = #{stop}"
|
|
|
|
if !start.nil? && !stop.nil?
|
|
duration = Duration.new(start: start, stop: stop)
|
|
duration_remaining = Duration.new(start: start, stop: stop).from_now
|
|
puts "* event length = #{duration.to_s} (from now: #{duration_remaining.to_s})"
|
|
else
|
|
puts "* event length = (none)"
|
|
end
|
|
|
|
puts "* stream url = #{meta.stream_url ? meta.stream_url : "(none)"}"
|
|
end
|
|
end
|
|
end
|
|
|