File: gonzui-remove

package info (click to toggle)
gonzui 1.2-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,824 kB
  • ctags: 1,448
  • sloc: ruby: 9,570; sh: 5,684; ansic: 1,334; lex: 1,140; makefile: 466; perl: 205; ml: 131
file content (57 lines) | stat: -rwxr-xr-x 1,282 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#! /usr/bin/env ruby
#
# gonzui-remove - a tool to remove contents from a gonzui DB
#
# Copyright (C) 2004-2005 Satoru Takabayashi <satoru@namazu.org> 
#     All rights reserved.
#     This is free software with ABSOLUTELY NO WARRANTY.
#
# You can redistribute it and/or modify it under the terms of 
# the GNU General Public License version 2.
#

require 'getoptlong'
require 'gonzui'
require 'gonzui/cmdapp'

include Gonzui
include Gonzui::Util

class GonzuiRemove < Gonzui::CommandLineApplication
  def do_show_usage
    puts "Usage: #{program_name} [OPTION] PACKAGE..."
  end

  def do_get_option_table
    []
  end

  def do_process_options(options)
    show_usage if ARGV.empty?
    @package_names = ARGV
  end

  def do_start
    parse_options()
    ensure_db_directory_available
    init_logger

    show_progress = if @config.quiet then false else true end
    remover = Remover.new(@config, :show_progress => show_progress)
    begin
      @package_names.each {|package_name|
        begin
          remover.remove_package(package_name)
          @logger.log("removed %s", package_name)
        rescue GonzuiError => e
          wprintf("%s", e.message)
        end
      }
      print remover.summary
    ensure
      remover.finish
    end
  end
end

GonzuiRemove.start