From: Johnjohn <jj...@us...> - 2004-03-17 10:23:49
|
Update of /cvsroot/ngetsuite/ngetsuite/ngetsuite In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv856/ngetsuite Modified Files: core.rb downloader.rb group.rb Log Message: deleting a group deletes everything related to it in the database added a field 'ignoreregex' in groups, can be set using -I ; will prevent nget to download articles which subject matches that (using nget's -R) added a fiels 'category' for groups, can be set using -S ; actually unused Index: downloader.rb =================================================================== RCS file: /cvsroot/ngetsuite/ngetsuite/ngetsuite/downloader.rb,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** downloader.rb 14 Mar 2004 22:32:33 -0000 1.28 --- downloader.rb 17 Mar 2004 10:14:19 -0000 1.29 *************** *** 179,183 **** Db.dbh.do "update queue set `status`='PROCESSING', `date_started`=NOW() where `queueindex`='#{@queueindex}'" Db.dbh.do 'unlock tables' ! @io = IO.popen("nice -n#{$config['nice_nget_download']} -- #{$config['nget']} -q -I -G #{@group} -r '#{@value}' 2>&1") @t = Thread.new(@io, self){ |io, parent| begin --- 179,189 ---- Db.dbh.do "update queue set `status`='PROCESSING', `date_started`=NOW() where `queueindex`='#{@queueindex}'" Db.dbh.do 'unlock tables' ! ignoreme = (Db.dbh.select_one "select `ignoreregex` from `groups` where `groupindex`='#{Group.getindex(@group)}'")[0] ! if ignoreme and ignoreme.length > 0 ! downloadexpr = "-R 'subject #{@value} == subject #{ignoreme} != &&'" ! else ! downloadexpr = "-r '#{@value}'" ! end ! @io = IO.popen("nice -n#{$config['nice_nget_download']} -- #{$config['nget']} -q -I -G #{@group} #{downloadexpr} 2>&1") @t = Thread.new(@io, self){ |io, parent| begin Index: group.rb =================================================================== RCS file: /cvsroot/ngetsuite/ngetsuite/ngetsuite/group.rb,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** group.rb 14 Mar 2004 22:32:33 -0000 1.42 --- group.rb 17 Mar 2004 10:14:19 -0000 1.43 *************** *** 31,34 **** --- 31,43 ---- def Group.delete(index) + ql = Db.dbh.select_all "select `queueindex` from `queue` where `groupindex`='#{index}'" + ql.each { |r| + i=r[0] + Db.dbh.do "delete from `queue_files` where `queueindex`='#{i}'" + } + Db.dbh.do "delete from `queue` where `groupindex`='#{index}'" + Db.dbh.do "delete from `releases` where `groupindex`='#{index}'" + Db.dbh.do "delete from `nfos` where `groupindex`='#{index}'" + Db.dbh.do "delete from `articles` where `groupindex`='#{index}'" Db.dbh.do "delete from `groups` where `groupindex`='#{index}'" end *************** *** 68,77 **** def Group.show(onlyactive = false) ! labels = Array['Added' , 'Last update' , 'Directory', 'Active'] ! keys = Array['date_added', 'date_updated', 'directory', 'active'] req = '' req = " where `active`='yes' " if onlyactive ! req += 'order by `date_added`' GroupList.new(req).each { |group| --- 77,86 ---- def Group.show(onlyactive = false) ! labels = Array['Category', 'Added' , 'Last update' , 'Directory', 'Active', 'Ignoring'] ! keys = Array['category', 'date_added', 'date_updated', 'directory', 'active', 'ignoreregex'] req = '' req = " where `active`='yes' " if onlyactive ! req += 'order by `groupindex`' GroupList.new(req).each { |group| *************** *** 81,87 **** puts "<#{idx}> [#{name}] (#{sname})" labels.each_index { |i| ! label, value = Utils.green(labels[i]), ! Utils.yellow(group.method('_'+keys[i]).call) ! puts "\t#{label} : #{value}" } puts --- 90,95 ---- puts "<#{idx}> [#{name}] (#{sname})" labels.each_index { |i| ! value = group.method('_'+keys[i]).call.to_s ! puts "\t#{Utils.green(labels[i])} : #{Utils.yellow(value)}" if value.length > 0 } puts *************** *** 149,152 **** --- 157,161 ---- def queue_regexp(regexp, prio=nil, period=nil, subpath=nil) q = RegexpQueue.new(nil, false, @_groupindex, regexp, prio, period, subpath) + q._date_added = Db.now q._status = NgetSuite::PENDING Index: core.rb =================================================================== RCS file: /cvsroot/ngetsuite/ngetsuite/ngetsuite/core.rb,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** core.rb 15 Mar 2004 10:13:21 -0000 1.37 --- core.rb 17 Mar 2004 10:14:19 -0000 1.38 *************** *** 119,123 **** end ! def queue_regexp(groupid, regexp, prio='5', period='0', subpath='') begin n = Integer(prio) --- 119,135 ---- end ! def group_set_ignore_regexp(groupid, regexp='') ! g = Group.getgroup(groupid) ! g._ignoreregex = regexp ! g.sync_to_db ! end ! ! def group_set_category(groupid, category) ! g = Group.getgroup(groupid) ! g._category = category ! g.sync_to_db ! end ! ! def queue_regexp(groupid, regexp, prio='5', period='0', subpath=nil) begin n = Integer(prio) *************** *** 197,206 **** when 'add-group' args = arg.split(',') ! size = args.size ! if ((size >= 1) && (size <= 4)) ! add_group(*args); ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'delete-group' delete_group(arg) --- 209,213 ---- when 'add-group' args = arg.split(',') ! add_group(*args); when 'delete-group' delete_group(arg) *************** *** 209,212 **** --- 216,225 ---- when 'update-all-groups' update_group + when 'set-group-category' + args = arg.split(',') + group_set_category(*args) + when 'set-ignore-regexp' + args = arg.split(',') + group_set_ignore_regexp(*args) when 'list-nfos' list_nfos(arg) *************** *** 215,240 **** when 'show-nfo' args = arg.split(',') ! size = args.size ! if ((size >= 1) && (size <= 2)) ! show_nfo(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'queue-article' args = arg.split(',') ! size = args.size ! if ((size >= 2) && (size <= 3)) ! queue_article(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'queue-regexp' args = arg.split(',') ! size = args.size ! if ((size >= 2) && (size <= 5)) ! queue_regexp(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'delete-queue' Queue.delete(arg, true) --- 228,238 ---- when 'show-nfo' args = arg.split(',') ! show_nfo(*args) when 'queue-article' args = arg.split(',') ! queue_article(*args) when 'queue-regexp' args = arg.split(',') ! queue_regexp(*args) when 'delete-queue' Queue.delete(arg, true) *************** *** 248,254 **** when 'search' args = arg.split(',') ! if (args.size == 2) ! search_group(*args) ! end when 'search-releases' args = arg.split(',') --- 246,250 ---- when 'search' args = arg.split(',') ! search_group(*args) when 'search-releases' args = arg.split(',') *************** *** 256,278 **** when 'set-period' args = arg.split(',') ! if (args.size == 2) ! set_period(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'set-priority' args = arg.split(',') ! if (args.size == 2) ! set_priority(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'set-status' args = arg.split(',') ! if (args.size == 2) ! set_status(*args) ! else ! raise ArgumentError.new("Incorrect args : #{arg}") ! end when 'set-limit' begin --- 252,262 ---- when 'set-period' args = arg.split(',') ! set_period(*args) when 'set-priority' args = arg.split(',') ! set_priority(*args) when 'set-status' args = arg.split(',') ! set_status(*args) when 'set-limit' begin |