@@ -11,32 +11,37 @@ class DeadList
1111 attr_reader :current_version
1212
1313 def initialize ( logger : Logger . new ( $stdout) )
14- @logger = logger
15- @logger . level = Logger ::INFO
16- @logger . formatter = proc do |severity , datetime , progname , msg |
14+ @logger = logger
15+ @logger . level = Logger ::INFO # Default level
16+ @logger . formatter = proc do |severity , datetime , progname , msg |
1717 "#{ msg } \n "
18- end
19- @current_version = VERSION
18+ end
19+ @current_version = VERSION
2020 end
2121
2222 # Argument abstraction should probably happen at this level!
2323
2424 def run ( argv = ARGV )
25- # Start a new CLI session
26- # In future this could be abstracted to pass the show link vs all args, so a 'session' is started per show.
27- session = CLI . new ( @current_version , argv , logger : @logger )
28-
29- # Scrape links and metadata for given show
30- session . create_show
31-
32- # In future, consider starting multiple downloaders for a list of shows
33- # show_list = session.args[:shows]
34- # show_list.each do |show|
35- # session.download_show(show)
36- # end
37-
38- # Create folder with show date and begin track downloads if format matches
39- session . download_show
25+ # Check for --quiet flag and adjust logger level
26+ if argv . include? ( '--quiet' ) || argv . include? ( '-q' )
27+ @logger . level = Logger ::ERROR
28+ end
29+
30+ # Start a new CLI session
31+ # In future this could be abstracted to pass the show link vs all args, so a 'session' is started per show.
32+ session = CLI . new ( @current_version , argv , logger : @logger )
33+
34+ # Scrape links and metadata for given show
35+ session . create_show
36+
37+ # In future, consider starting multiple downloaders for a list of shows
38+ # show_list = session.args[:shows]
39+ # show_list.each do |show|
40+ # session.download_show(show)
41+ # end
42+
43+ # Create folder with show date and begin track downloads if format matches
44+ session . download_show
4045 end
4146end
4247
0 commit comments