class Relfile < FrsBase
def help
puts "#{$0} relfile [opts] [list]"
- puts "#{$0} relfile [opts] create <target-file>"
+ puts "#{$0} relfile [opts] create <target-file> [target-files...]"
puts "#{$0} relfile [opts] update <numeric-file-id>"
puts "#{$0} relfile [opts] delete <numeric-file-id>"
puts "Options:"
puts " --release=<release-id> Target release (numeric id)"
puts " -v --visibility=<public|private|hidden>"
puts " --force-digest Calc local file digest forcely"
+ puts " --progress Force to show upload progress"
+ puts " --no-progress Force to hide upload progress"
+ puts " --bwlimit=RATE Limit bandwidth (in KB)"
end
def self.description
[ '--release', GetoptLong::REQUIRED_ARGUMENT ],
[ '--visibility', '-v', GetoptLong::REQUIRED_ARGUMENT ],
[ '--force-digest', GetoptLong::NO_ARGUMENT],
+ [ '--progress', GetoptLong::NO_ARGUMENT],
+ [ '--no-progress', GetoptLong::NO_ARGUMENT],
+ [ '--bwlimit', GetoptLong::REQUIRED_ARGUMENT ],
)
opts.each do |opt, arg|
case opt
exit
end
@visibility = arg
+ when '--progress'
+ @show_progress = true
+ when '--no-progress'
+ @show_progress = false
+ when '--bwlimit'
+ arg.to_i != 0 and
+ OSDN::CLI._rate_limit = arg.to_i * 1024
end
end
end
end
def create
- filename = ARGV.shift
- if !filename
+ if ARGV.empty? || ARGV.first == ""
logger.fatal "Target filename is missing."
help
return
end
+
+ ARGV.each do |f|
+ create_one(f)
+ end
+ end
+
+ def create_one(filename)
file = Pathname('.') + filename
logger.debug "Calculating digest for #{file}..."
end
fio = file.open
- logger.level <= Logger::INFO and
+ logger.level <= Logger::INFO && @show_progress != false || @show_progress and
OSDN::CLI._show_progress = true
logger.info "Starting upload #{file}..."
f = api.create_release_file target_proj, target_package, target_release, fio, visibility: @visibility